ASP.NET - время ожидания сеанса - PullRequest
2 голосов
/ 22 октября 2009

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

Ответы [ 2 ]

1 голос
/ 22 октября 2009

Если вы сохраняете состояние сеанса "в процессе", то каждый раз, когда пул приложений перезагружается, вы можете потерять сеанс (это может произойти много на сервере с нехваткой памяти). Вы можете попытаться сохранить состояние сеанса "вне процесса", используя State Server или SQL Server.

См. PRB: данные сеанса теряются при использовании режима состояния сеанса ASP.NET InProc

1 голос
/ 22 октября 2009

Да.

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

  • Вкладка ASP.net> Изменить конфигурацию> вкладка Аутентификация> Тайм-аут cookie
  • Вкладка ASP.net> Изменить конфигурацию> вкладка Управление состоянием> Время ожидания сеанса

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

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

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...