Это более старый вопрос, касающийся того, что я делаю здесь и сейчас, в октябре 2014 года.
По сути, исходные ответы по-прежнему верны, так как вы можете создать свое собственное состояние сеанса OutProc.Система управления, но теперь Microsoft гораздо активнее работает с открытым исходным кодом, поэтому вы можете легко перейти на MSOpenTech и загрузить порт Redis для Windows , который также поддерживается Windows Azure.
Redis - это система управления состоянием сеанса OutProc, которую можно запускать в отдельном окне процесса / консоли или в качестве службы Windows для хранения сеанса / значения ключа объединительной панели.
MSOpenTech:
Redis - очень популярное сетевое хранилище данных с ключом-ключом и открытым исходным кодом.Он известен высокой производительностью, гибкостью, богатым набором структур данных и простым прямым API.MS Open Tech работает с сообществом Redis над созданием готового к работе порта Windows Redis, включая 64-разрядную поддержку, установщик для Windows Azure, поддержку NuGet и многое другое.
Redis.io Intro:
Redis - это открытый исходный код, лицензия BSD, расширенный кэш-ключ и хранилище значений ключей.Его часто называют сервером структуры данных, поскольку ключи могут содержать строки, хэши, списки, наборы, отсортированные наборы, растровые изображения и гиперлоглоги
. Вы можете использовать его для хранения состояния сеанса для ASP.NET MVC., WebAPi и SignalR, что очень удобно в среде веб-фермы.
Install-Package Microsoft.Web.RedisSessionStateProvider
Он легко настраивается через web.config, и когда я говорю просто, я имею в виду просто.
<system.web>
<sessionState mode="Custom" customProvider="MySessionStateStore">
<providers>
<add name="MySessionStateStore" type="Microsoft.Web.Redis.RedisSessionStateProvider" host="127.0.0.1" port="6379" accessKey="" ssl="false" />
</providers>
</sessionState>
</system.web>
Так легко на самом деле, я сначала подумал, что, должно быть, я делаю это неправильно.;) Но это все, что нужно для передачи состояния сеанса в Redis.
Это порт с высокой производительностью, очень близкий к исходной версии POSIX.
Мы используем его для приложения финансовых услуг, которое сталкивается с большими нагрузками в режиме реального времени в режиме реального времени через Signalr, который, как указано выше, также «поддерживает» Redis для поддержания состояния сеанса концентратора.
Таким образом, хотя вы все еще можете делать как принятые ответы, примерно через 3 с половиной года я хотел бы взглянуть на некоторые из этих альтернатив стандартному опыту управления сеансами ASP.NET, которые доступны бесплатно через OSS.
https://github.com/MSOpenTech/redis
http://www.codeproject.com/Articles/636730/Distributed-Caching-using-Redis