2010-08-05 15 views
14

Nieco tła: Obecnie używam Memcached Providers do zarządzania stanem sesji w mojej aplikacji ASP.NET. Zapewnia on możliwość korzystania z SQL Server jako mechanizmu przechowywania awaryjnego (gdy sesje muszą zostać usunięte z memcached cache). Chciałbym spojrzeć na tworzenie dostawcy dla RavenDB, ponieważ byłoby to znacznie bardziej wydajne dla tego rodzaju zadania.Dostawca sesji RavenDB ASP.NET?

Moje pytanie brzmi, czy ktoś wprowadził coś takiego? (lub coś podobnego?) - Nie chciałbym ponownie wymyślać koła. Google nie dostarcza żadnych pomocnych wyników (innych niż my question na ten temat w samej grupie RavenDB), więc pomyślałem, że przekażę to pytanie bezpośrednio do społeczności Stack Overflow.

+0

A więc szukasz sposobu na zastąpienie SQL Server RavenDB, ale wciąż masz tam Memcached? Lub chcesz zamienić Memcached na RavenDB. Zastanawiasz się, który z nich zapewni lepszą wydajność dla stanu sesji. Dzięki. – Tigran

+0

Właściwie to skończyłem z Couchbase i korzystałem z ich implementacji dostawców aspnet (dla stanu sesji i wyjściowej pamięci podręcznej): https://github.com/couchbaselabs/couchbase-aspnet – DanP

Odpowiedz

18

Ja również poszukuje sklep session-state RavenDB, i moje poszukiwania również nie.

Stworzyłem więc jednym:

github.com/mjrichardson/RavenDbSessionStateStoreProvider

również dostępne za pośrednictwem NuGet package.

+0

Pakiet Nuget wydaje się być niekompatybilny z NewtonSoft Json 4.5.6. Nuget próbuje "zaktualizować" z wersji 4.5.6. do 4.0.8 ... –

+0

[Jest to pakiet RavenDB.Client, który jest niekompatybilny] (http://ayende.com/blog/157505/ravendb-1-0-amp-newtonsoft-json-4-5-7). Zgodnie z postem Ayende, powinieneś być w stanie rozwiązać swój problem, odwołując się do [wersja 1.0.971 RavenDB.Client] (http://nuget.org/packages/RavenDB.Client/1.0.971). –

3

Nie tak daleko, jak wiem. RavenDB jest dość aktywnym projektem, a Memcached praktycznie nie żyje od 2 lat i pozostał 32-bitowy. może być lepiej po prostu działa RavenDB pod IIS

OK, więc kod mądry nie dostać mniejszy niż ten - jeden plik: http://sourceforge.net/projects/aspnetsessmysql/files/MySqlSessionStateStore.cs/download

+0

Dzięki za wejście, ale memcached nie jest tak naprawdę problem tutaj ... bardziej ogólnie, pytam o tworzenie dostawcy sesji dla RavenDB. Memcached dostawca oferuje tylko jedną przykładową realizację tego działania. – DanP

+0

Poszukujesz więc dość małego kodu źródłowego dla dostawcy sesji ASP.NET rozmawiającego z innym DB, abyś mógł zmodyfikować go dla RavenDB? Unles jesteś całkowicie przeciwny napisaniu kodu :-) – ZXX

3

RavenDb zapewnia wiązkę wygaśnięcia sesji, co oznacza, że ​​dokumenty są usuwane po określone życie. Jest to idealne rozwiązanie do zastosowania jako sesji i oznacza, że ​​cały Twój agregat korzeń zostanie pobrana z RavenDb, czyli znacznie czystszy kod: RavenDb Expiration Bundle