Тайм-аут состояния сеанса ASP.NET

Я использую веб-сайт ASP.NET на IIS7, где в web.config у меня есть:

<sessionState mode="InProc" timeout="20"></sessionState>

Но сессия не держится 20 минут, работает очень странно, иногда заканчивается через 1 минуту или меньше, иногда просто перенаправляет на другую страницу. Мне нужно использовать режим = "InProc".

Кто может мне помочь, что не так и как решить эту проблему? Спасибо!


person ihorko    schedule 22.07.2011    source источник
comment
На самом деле вам даже не нужен тег SessionState (закомментируйте тег SessionState и посмотрите, что произойдет). По умолчанию время ожидания составляет 20 минут. Похоже, где-то в нашем коде очищается сессия. msdn.microsoft.com/en-us/library/h6bb9cz9.aspx   -  person Win    schedule 23.07.2011
comment
Здесь, в Network Solution, у нас был долгий день с этой проблемой, и, наконец, мы изучили и решили эту конкретную проблему (истечение срока действия сеанса и указанный тайм-аут игнорируются) на уровне конфигурации сервера. Результатом нашей работы является общий сервер, на котором размещенные созданные приложения могут постоянно регистрироваться благодаря нашим сценариям конфигурации сервера (созданным на основе многолетнего опыта), предварительно настроенным также с пользовательской базой данных SessionState DB, если хотите, идеально подходит для Windows-IIS. -Виртуальный хостинг ASP.NET-MSSQL! Пожалуйста, свяжитесь со мной по адресу marco.marsala AT live.it, чтобы узнать, применимо ли наше решение в вашем случае.   -  person Marco Marsala    schedule 10.07.2014


Ответы (2)


Если у вас есть приложение, выбрасывающее необработанные исключения, оно может быть перезапущено. Или он может перезапуститься из-за нехватки памяти или даже просто из-за неправильных настроек в IIS. Это может привести к потере сеанса. Вы можете поместить некоторый код регистрации в Application_End Eventhandler в global.asax, чтобы проверить это условие.

person Peter Bromberg    schedule 22.07.2011
comment
Вероятно, это и есть причина, вы также можете обработать Application_Error. - person YetAnotherUser; 23.07.2011

Переработка пула приложений? (настройка IIS).

В любом случае, вы можете обнаружить и обработать тайм-аут в global.asax (session_end), если это поможет.

person Chains    schedule 22.07.2011