2010-08-05 77 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