2010-08-05 2 views
14

Немного фона: в настоящее время я использую Memcached Providers для управления состоянием сеанса в своем приложении ASP.NET. Он предоставляет средства для использования SQL Server в качестве резервного механизма хранения (когда сеансы необходимо очистить из кэша memcached). Я хотел бы посмотреть на создание провайдера для RavenDB, так как это было бы гораздо более результативным для такого рода задач.Поставщик сеансов RavenDB ASP.NET?

Мой вопрос: кто-нибудь реализовал такую ​​вещь? (или что-то подобное?) - Мне бы не хотелось изобретать колесо. Google не дает никаких полезных результатов (кроме my question об этом в самой группе RavenDB), поэтому я подумал, что отвечу на этот вопрос непосредственно в сообщество переполнения стека.

+0

Итак, вы смотрите на замену SQL Server на RavenDB, но у вас там есть Memcached? Или вы хотите заменить Memcached с помощью RavenDB. Просто интересно, какой из них даст вам лучшую производительность для состояния сеанса. Благодарю. – Tigran

+0

Я действительно закончил работу с Couchbase и использовал их реализацию провайдеров aspnet (для состояния сеанса и кэша вывода): https://github.com/couchbaselabs/couchbase-aspnet – DanP

ответ

18

Я также ищу RavenDB состояние сеанса магазин, и мой поиск также не удался.

Так что я создал один:

github.com/mjrichardson/RavenDbSessionStateStoreProvider

Также доступны через NuGet package.

+0

Пакет Nuget несовместим с NewtonSoft Json 4.5.6. Нугет пытается «обновить» из 4.5.6. до 4.0.8 ... –

+0

[Это несовместимый пакет RavenDB.Client] (http://ayende.com/blog/157505/ravendb-1-0-amp-newtonsoft-json-4-5-7). Согласно сообщению Айенде, вы должны решить свою проблему, указав [версию 1.0.971 RavenDB.Client] (http://nuget.org/packages/RavenDB.Client/1.0.971). –

3

Не так далеко, насколько я знаю. RavenDB - довольно активный проект, и Memcached практически мертв в течение 2 лет и остался 32-битным. Вы могли бы быть лучше всего работает RavenDB под IIS

ОК, так что код мудр он не получает меньше, чем это - один файл: http://sourceforge.net/projects/aspnetsessmysql/files/MySqlSessionStateStore.cs/download

+0

Спасибо за ввод, но memcached на самом деле не является проблема здесь ... в общем, я прошу о создании поставщика сеанса для RavenDB. Поставщик memcached просто предлагает один пример реализации того, как это может работать. – DanP

+0

Итак, вы действительно ищете достаточно маленький исходный код для провайдера сеанса ASP.NET, который разговаривает с какой-либо другой БД, чтобы вы могли изменить его для RavenDB? Unles, вы полностью против написания кода :-) – ZXX

3

RavenDb предоставляет пакет истечения сеанса, который означает, что документы будут удалены после того, как заданное время жизни. Это идеально подходит для использования в качестве сессии и означает, что весь ваш агрегат корень будет извлекаться из RavenDb, то есть гораздо более чистый код: RavenDb Expiration Bundle

Смежные вопросы