2010-08-05 31 views
14

Un poco de historia: actualmente utilizo Memcached Providers para administrar el estado de la sesión en mi aplicación ASP.NET. Proporciona facilidades para usar SQL Server como un mecanismo de almacenamiento alternativo (cuando las sesiones necesitan ser eliminadas de la memoria caché de memcached). Me gustaría ver crear un proveedor para RavenDB ya que sería mucho más eficiente para este tipo de tarea.Proveedor de sesión RavenDB ASP.NET?

Mi pregunta es, ¿alguien ha implementado tal cosa? (¿o algo similar?) - No me gustaría reinventar la rueda. Google no produce ningún resultado útil (que no sea my question sobre esto en el grupo RavenDB mismo), así que pensé en llevar esta pregunta directamente a la comunidad de Stack Overflow.

+0

¿Está buscando reemplazar SQL Server con RavenDB pero todavía tiene Memcached allí? O desea reemplazar Memcached con RavenDB. Solo me pregunto cuál le dará un mejor rendimiento para el estado de la sesión. Gracias. – Tigran

+0

De hecho, terminé yendo con Couchbase y haciendo uso de su implementación de proveedores aspnet (para estado de sesión y caché de resultados): https://github.com/couchbaselabs/couchbase-aspnet – DanP

Respuesta

18

Yo también estaba buscando una tienda de estados de sesión RavenDB, y mi búsqueda también fracasó.

así que creé una:

github.com/mjrichardson/RavenDbSessionStateStoreProvider

También disponible a través de un NuGet package.

+0

El paquete Nuget parece ser incompatible con NewtonSoft Json 4.5.6. Nuget intenta "actualizar" desde 4.5.6. a 4.0.8 ... –

+0

[Es el paquete RavenDB.Client que es incompatible] (http://ayende.com/blog/157505/ravendb-1-0-amp-newtonsoft-json-4-5-7) Según la publicación de Ayende, debería poder resolver su problema haciendo referencia a [versión 1.0.971 de RavenDB.Client] (http://nuget.org/packages/RavenDB.Client/1.0.971). –

3

No es lo que yo sé. RavenDB es un proyecto bastante activo y Memcached ha estado prácticamente muerto durante 2 años y se mantuvo en 32 bits. Usted puede ser mejor simplemente correr RavenDB bajo IIS

OK, así que el código en cuanto a que no consigue más pequeño que esto - solo archivo: http://sourceforge.net/projects/aspnetsessmysql/files/MySqlSessionStateStore.cs/download

+0

Gracias por la entrada, pero memcached no es realmente el problema aquí ... en términos más generales, estoy preguntando sobre la creación de un proveedor de sesiones para RavenDB. El proveedor de memcached simplemente ofrece una implementación de ejemplo de cómo esto podría funcionar. – DanP

+0

¿De verdad está buscando un código fuente razonablemente pequeño para un proveedor de sesión ASP.NET hablando con algún otro DB para que pueda modificarlo para RavenDB? Sin embargo, usted se opone totalmente a escribir algún código :-) – ZXX

3

RavenDb ofrece un paquete de expiración de la sesión que significa que los documentos se borran después de un tiempo de vida especificado. Esto es ideal para su uso como una sesión y significa que toda su raíz agregada se recuperará del RavenDb, es decir, el código mucho más limpio: RavenDb Expiration Bundle

Cuestiones relacionadas