2010-08-05 5 views
14

Un peu de contexte: J'utilise actuellement Memcached Providers pour gérer l'état d'une session dans mon application ASP.NET. Il permet d'utiliser SQL Server comme mécanisme de stockage de secours (lorsque les sessions doivent être purgées du cache memcached). Je voudrais créer un fournisseur pour RavenDB car il serait beaucoup plus performant pour ce genre de tâche.Fournisseur de session RavenDB ASP.NET?

Ma question est, quelqu'un a-t-il mis en place une telle chose? (ou quelque chose de similaire?) - Je détesterais réinventer la roue. À ce propos, Google ne fournit aucun résultat utile (autre que my question à ce sujet dans le groupe RavenDB lui-même). J'ai donc décidé de poser cette question directement à la communauté Stack Overflow.

+0

Alors cherchez-vous à remplacer SQL Server avec RavenDB mais avez toujours le Memcached là? Ou vous voulez remplacer Memcached par RavenDB. Je me demande simplement lequel vous donnera de meilleures performances pour l'état de la session. Merci. – Tigran

+0

J'ai fini par aller avec Couchbase et utiliser leur implémentation de fournisseurs d'aspnet (pour l'état de session et le cache de sortie): https://github.com/couchbaselabs/couchbase-aspnet – DanP

Répondre

18

Je cherchais aussi un magasin d'état de session RavenDB, et ma recherche a également échoué.

Je créé un:

github.com/mjrichardson/RavenDbSessionStateStoreProvider

Egalement disponible via un NuGet package.

+0

Le paquet Nuget semble incompatible avec NewtonSoft Json 4.5.6. Nuget essaie de "mettre à jour" à partir de 4.5.6. à 4.0.8 ... –

+0

[C'est le paquet RavenDB.Client qui est incompatible] (http://ayende.com/blog/157505/ravendb-1-0-amp-newtonsoft-json-4-5-7). Selon la publication d'Ayende, vous devriez être capable de résoudre votre problème en référençant [version 1.0.971 de RavenDB.Client] (http://nuget.org/packages/RavenDB.Client/1.0.971). –

3

Pas aussi loin que je sache. RavenDB est un projet assez actif et Memcached est pratiquement mort depuis 2 ans et est resté 32-bit. Vous pourriez être mieux juste en cours d'exécution RavenDB sous IIS

OK, donc le code-sage qu'il ne soit pas plus petit que cela - seul fichier: http://sourceforge.net/projects/aspnetsessmysql/files/MySqlSessionStateStore.cs/download

+0

Merci pour l'entrée, mais memcached n'est pas vraiment le problème ici ... plus généralement, je demande à propos de la création d'un fournisseur de session pour RavenDB. Le fournisseur memcached propose simplement un exemple de mise en œuvre de comment cela pourrait fonctionner. – DanP

+0

Vous cherchez donc un code source raisonnablement petit pour un fournisseur de session ASP.NET parlant à un autre DB afin que vous puissiez le modifier pour RavenDB? Unles vous êtes totalement opposé à l'écriture de code :-) – ZXX

3

RavenDB fournit un ensemble d'expiration de session qui signifie que les documents sont supprimés après une durée de vie spécifiée. Ceci est idéal pour une utilisation comme session et moyens qui seront récupérées à partir RavenDB, ce qui signifie un code beaucoup plus propre ensemble de votre racine globale: RavenDb Expiration Bundle