【问题标题】:RavenDB ASP.NET session provider?RavenDB ASP.NET 会话提供程序?
【发布时间】:2010-08-05 13:59:51
【问题描述】:

一点背景知识:我目前使用Memcached Providers 来管理我的 ASP.NET 应用程序中的会话状态。它提供了使用 SQL Server 作为回退存储机制的工具(当需要从 memcached 缓存中清除会话时)。我想看看为RavenDB 创建一个提供程序,因为它对于此类任务的性能要好得多。

我的问题是,有没有人实施过这样的事情? (或类似的东西?) - 我不想重新发明轮子。 Google 没有产生任何有用的结果(除了 my question 在 RavenDB 组本身中关于此问题),所以我想我会直接将这个问题带到 Stack Overflow 社区。​​p>

【问题讨论】:

  • 那么您是否正在考虑用 RavenDB 替换 SQL Server 但仍然有 Memcached?或者你想用 RavenDB 替换 Memcached。只是想知道哪个可以为您提供更好的会话状态性能。谢谢。
  • 我实际上最终选择了 Couchbase 并使用了他们的 aspnet 提供程序实现(用于会话状态和输出缓存):github.com/couchbaselabs/couchbase-aspnet

标签: asp.net session nosql ravendb


【解决方案1】:

我也在寻找 RavenDB 会话状态存储,但我的搜索也失败了。

所以我创建了一个:

github.com/mjrichardson/RavenDbSessionStateStoreProvider

也可以通过NuGet package 获得。

【讨论】:

【解决方案2】:

据我所知没有。 RavenDB 是一个非常活跃的项目,Memcached 实际上已经死了 2 年,仍然是 32 位的。在 IIS 下运行 RavenDB 可能会更好

好的,所以在代码方面它不会比这个小 - 单个文件:http://sourceforge.net/projects/aspnetsessmysql/files/MySqlSessionStateStore.cs/download

【讨论】:

  • 感谢您的输入,但 memcached 并不是这里真正的问题......更一般地说,我问的是为 RavenDB 创建一个会话提供程序。 memcached 提供程序只是提供了一个示例实现,说明它是如何工作的。
  • 所以您实际上是在为与其他数据库通信的 ASP.NET 会话提供程序寻找相当小的源代码,以便您可以为 RavenDB 修改它?除非你完全反对写一些代码:-)
【解决方案3】:

RavenDb 提供了一个会话过期包,这意味着文档在指定的生命周期后被删除。这非常适合用作会话,这意味着您的整个聚合根将从 RavenDb 中检索,这意味着更简洁的代码: RavenDb Expiration Bundle

【讨论】:

    猜你喜欢
    • 2012-08-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-06-23
    • 1970-01-01
    • 1970-01-01
    • 2015-06-18
    • 2013-03-12
    相关资源
    最近更新 更多