Настройка тайм-аута сеанса в ASP.Net

Я установил тайм-аут сеанса на 9 часов в файле web.config примерно так:

“<sessionState mode="InProc" timeout="540" />

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

Мне было интересно, зависит ли время ожидания сеанса от каких-либо из следующих настроек в IIS:

  1. Установка времени сеанса
  2. Настройка времени ожидания для пула приложений
  3. Настройка рециркуляции.

Пожалуйста, порекомендуйте. Кроме того, как проверить настройку тайм-аута сеанса в IIS 7.0?


person Anutosh Datta    schedule 23.10.2012    source источник
comment
вы используете аутентификацию с помощью форм?   -  person AMember    schedule 23.10.2012


Ответы (3)


Сессия будет потеряна при перезапуске ApplicationPool. Это одна из упомянутых вами настроек IIS. Установить только таймаут в web.config будет недостаточно. Вам необходимо изменить настройку в IIS.

Вот ссылка, которую я нашел, пока изучал ту же проблему.

Кроме того, этот вопрос был очень полезным: Потеря состояния сеанса

person mboldt    schedule 23.10.2012
comment
Спасибо за информацию и ссылки. Они были полезны. Я постараюсь посмотреть, получится ли. - person Anutosh Datta; 23.10.2012
comment
Web.config больше похож на графический интерфейс для сервера, верно (так сказать)? Итак, когда мы вносим изменения в Web.Cofig, мы в основном вносим изменения в настройки сервера IIS, верно? - person Unbreakable; 25.01.2017

Если вы используете проверку подлинности с помощью форм, убедитесь, что срок действия файла cookie FormAuthentication истекает одновременно с сеансом.

Если нет, убедитесь, что ваш IIS не перерабатывается. (поместите регистратор в свой Global.asax, чтобы проверить конечные события приложения по сравнению с жалобами ваших пользователей.)

person AMember    schedule 23.10.2012

Недостаточно установить тайм-аут сеанса в вашей веб-конфигурации. Если сервер, на котором размещен ваш сайт, имеет меньшее значение тайм-аута, установленное в настройках IIS, ваш сеанс истекает в соответствии со значением тайм-аута сеанса сервера.

Кроме того, если вы удаляете какую-либо папку из каталога сервера, это также может привести к неожиданной перезагрузке пула приложений.

поэтому, пожалуйста, проверьте значение тайм-аута сеанса сервера, и если оно меньше, попросите ваш хостинг увеличить его в соответствии с вашими требованиями.

person RVD    schedule 23.10.2012
comment
Web.config больше похож на графический интерфейс для сервера, верно? Итак, когда мы вносим изменения в Web.Cofig, мы в основном вносим изменения в настройки сервера IIS, верно? Что ты подразумеваешь под your site is hosted is having less time out value set in IIS setting - person Unbreakable; 25.01.2017