2009-10-22 3 views
2

В web.config файл для моего приложения, в разделе <sessionState> я поставил timeout="60" (в минутах), но состояние сеанса переменные в моем приложении, кажется, истекающий в течение примерно 1 минуты. Любая идея, что может вызвать это?ASP.NET - Session Time Out

ответ

1

Да.

Тайм-ауты сеанса также определяются и контролируются IIS (хотя существует перекрытие). В IIS 6.0 также необходимо проверить следующие места в менеджере IIS (свойства виртуального каталога):

  • вкладка ASP.net> Изменить настройки> вкладка Authentication> Тайм-аут Cookie
  • вкладка ASP.net> конфигурации Редактировать > Вкладка «Управление государственным управлением»> Тайм-аут сеанса

Установка всех этих параметров на одно и то же значение, исправила проблему для меня.

Редактировать: По-видимому, ранее представленный первый вариант не имел никакого отношения к нему. Это означает, что первый из двух вариантов - это место, где вы можете исправить тайм-аут сеанса. Вероятно, это не ваш тайм-аут сеанса, но истечение срока действия аутентификации.

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

+1

таймаут ASP.NET Session и классический ASP Session не одно и то же не связаны. Установка классических тайм-аутов сеанса ASP в IIS не повлияет на продолжительность сеанса ASP.NET. – Kev

1

Если вы сохраняете состояние сеанса «в proc», то каждый раз, когда пул приложений перезаписывается, вы можете потерять сеанс (это может случиться много на сервере с низкой памятью). Вы можете попробовать сохранить состояние сеанса «из proc» с помощью State Server или SQL Server.

См PRB: Session Data Is Lost When You Use ASP.NET InProc Session State Mode