Asp.Net как передать состояние сеанса на сервер состояний

Мне нужно передать состояние сеанса приложения Asp.Net на сервер состояний. Есть ли у кого-нибудь опыт, как это сделать?

Спасибо .


person Thanushka    schedule 16.09.2011    source источник
comment
msdn.microsoft.com/en-us/library/ms972429.aspx   -  person Peter    schedule 16.09.2011


Ответы (2)


если вы хотите использовать SQL Server в качестве сервера состояния сеанса, поместите этот фрагмент в свой web.config:

<sessionState
  mode="SQLServer"
  sqlConnectionString="data source=server;user id=uid;password=pwd"
  cookieless="false" timeout="20" />

имейте в виду, что для сериализации сеанса на сервере состояний вы должны поместить в сеанс только сериализуемые объекты, иначе вы получите исключения.

У нас была эта проблема в прошлом, и нам приходилось проверять везде в коде и делать все объекты, хранящиеся в сеансе, сериализуемыми; для одних классов легче, для других меньше.

вы также можете прочитать эту статью: Использование SQL Server для состояния сеанса ASP.Net или любую другую статью вы найдете в Интернете ;-)

Изменить: для StateServer необходимо изменить атрибут режима в web.config на значение: StateServer.

также для этого есть статьи, примеры и обсуждения также в SO:

ASP.NET: перенос сеанса из- Процесс с StateServer (Приключения в ASP.NET)

Масштабирование сервера состояния сеанса ASP.NET (SO)

person Davide Piras    schedule 16.09.2011
comment
Неа. Мне нужен государственный сервер. Не сервер sql. - person Thanushka; 16.09.2011

Шаг 1. В разделе конфигурации System.Web файла web.config добавьте следующее

<sessionState cookieless="UseCookies" timeout="1440" mode="StateServer" />

Шаг 2. С Control Panel => Administrative tools => Services запустите службу под названием «ASP.NET State Service»

Это оно.

person Nitin S    schedule 16.09.2011