2010-08-05 73 views
14

一点背景:我目前利用Memcached Providers来管理ASP.NET应用程序中的会话状态。它提供了使用SQL Server作为后备存储机制的功能(当需要从memcached缓存中清除会话时)。我想看看为RavenDB创建一个提供程序,因为它对于这类任务会更加高效。RavenDB ASP.NET会话提供程序?

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

+0

那么你在用RavenDB替换SQL Server,但仍然有Memcached?或者你想用RavenDB替换Memcached。只是想知道哪一个会给你会议状态更好的表现。谢谢。 – Tigran 2013-07-14 05:00:17

+0

我实际上结束了与Couchbase并使用他们的aspnet提供程序实现(会话状态和输出缓存):https://github.com/couchbaselabs/couchbase-aspnet – DanP 2013-07-15 13:29:49

回答

18

我也在寻求RavenDB会话状态存储,和我的搜索也失败了。通过NuGet package

github.com/mjrichardson/RavenDbSessionStateStoreProvider

还有:

因此,我创建一个。

+0

Nuget包似乎与NewtonSoft Json 4.5.6不兼容。 Nuget试图从4.5.6“更新”。到4.0.8 ... – 2012-10-22 19:29:00

+0

[这是与RavenDB.Client包不兼容](http://ayende.com/blog/157505/ravendb-1-0-amp-newtonsoft-json-4-5-7 )。 根据Ayende的文章,您应该能够通过引用[RavenDB.Client的版本1.0.971](http://nuget.org/packages/RavenDB.Client/1.0.971)来解决您的问题。 – 2012-10-25 06:10:34

3

据我所知。 RavenDB是非常活跃的项目,Memcached几乎已经停了两年,并保持32位。您可能会更好只是运行IIS RavenDB下

OK,所以代码明智它并没有比这更小 - 单个文件:http://sourceforge.net/projects/aspnetsessmysql/files/MySqlSessionStateStore.cs/download

+0

感谢您的输入,但memcached不是真的这里的问题......更一般地说,我正在问为RavenDB创建一个会话提供程序。 memcached提供者只是提供了一个如何工作的示例实现。 – DanP 2010-08-13 19:18:00

+0

所以你实际上是在寻找一个相当小的ASP.NET会话提供者与其他数据库交谈的源代码,以便你可以修改它的RavenDB? Unles你完全反对编写一些代码:-) – ZXX 2010-08-14 02:43:54

3

RavenDb提供了会话到期捆绑,这意味着文档后删除指定的寿命。这是非常适合用作会议,并意味着整个聚合根将RavenDb检索,这意味着更清洁的代码: RavenDb Expiration Bundle