Как сохранить данные в сеансе MVC, если балансировщик нагрузки не привязан?

Мне нужно сохранить информацию в сеансе и сделать ее доступной для всех веб-серверов в ферме, поскольку сеансы HTTP не привязаны.

Я считаю, что это означает, что мне нужно использовать поставщик состояния сеанса с общей памятью .

При этом, как я могу поместить данные в это хранилище из кода?

TempData, ViewBag и все остальные варианты работают только на одной странице, и мне нужны некоторые переменные, доступные на нескольких страницах.


person halfbit    schedule 23.11.2013    source источник
comment
Настройте состояние сеанса для использования поставщиков SQL или внепроцессных и используйте Session как обычно... Не знаю, в чем проблема...   -  person Alexei Levenkov    schedule 23.11.2013


Ответы (1)


Существуют разные поставщики состояния сеанса, в том числе поставщик состояния сеанса SQL Server. Вы настраиваете его в своем web.config

http://support.microsoft.com/kb/317604

а затем используйте контейнер Session в обычном режиме.

Добавить:

HttpContext.Current.Session.Add( key, val );

Чтобы получить:

object val = HttpContext.Current.Session["key"]
person Wiktor Zychla    schedule 23.11.2013
comment
Я забыл MVC и все программирование ASP.NET сейчас... как мне нормально использовать сеанс? Я продолжаю гуглить ответ и не могу его найти (застрял с ответами о Tempdata) - person halfbit; 23.11.2013