тайм-аут и автоматический выход в asp.net 2.0 с IIS 7 даже после выполнения всех возможных настроек - PullRequest
4 голосов
/ 21 октября 2010

У меня есть веб-сайт ASP.NET 2.0, размещенный на Windows Server 2008 с IIS 7. Я использую режим сеанса InProc (указанный в web.config).Мой клиент хочет, чтобы время ожидания составляло 3 часа, то есть если веб-сайт простаивает, сеанс должен оставаться активным в течение 3 часов.В настоящее время происходит то, что веб-сайт простаивает в течение 20-30 минут.и если пользователь пытается получить доступ к какой-либо ссылке, он перенаправляет на страницу входа.

Я искал в Интернете и выполнил все возможные настройки (как указано ниже):

  1. В веб-конфигурации, состояние сеанса, время ожидания = 180 минут.

  2. В веб-конфигурации, проверка подлинности форм, время ожидания = 180 минут.

  3. В IIS 7 «Вид сайта» -> «Особенности» -> «Состояние сеанса» - «Настройка режима состояния сеанса»: «В настройках Proc и Cookie» -> «Время ожидания = 180 минут»

  4. В «II» 7 «Сайт->»Функции Просмотр-> ASP-> Службы-> Свойства сеанса-> Время ожидания = 03:00:00 часов

  5. В IIS 7, Пулы приложений-> Сайт-> Расширенные настройки->Модель процесса-> Время ожидания простоя = 180 минут.

Даже после выполнения всех этих настроек время ожидания не увеличилось и сохраняется, если веб-сайт простаивает в течение 20-30 минут.и пользователь пытается получить доступ к ссылке, он перенаправляет на страницу входа.

Дополнительная информация: всякий раз, когда он перенаправляет на страницу входа после 20-30 минут простоя, и если я проверяю журнал событий на сервере, он говоритчто-то вроде (я не уверен, связана ли эта ошибка с этой конкретной проблемой или нет): «Проверка подлинности с помощью форм не выполнена для запроса. Причина: срок действия предоставленного билета истек»

1 Ответ

4 голосов
/ 21 октября 2010

Как ваш код выдает билет аутентификации, когда пользователи входят в систему? документация говорит, что атрибут expiration будет перезаписывать все, что вы установили в web.config - это может быть проблемой.

Если билет генерируется вручную используя FormsAuthenticationTicket класс, время ожидания может быть установлено через Атрибут Истечения. Это значение переопределит атрибут тайм-аута значение, указанное в конфигурации файлы.

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