Тайм-аут ASP.NET SessionState

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

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

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

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

3 ответа

Решение

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

Может быть, эта статья будет полезна для вас:

http://www.hanselman.com/blog/TroubleshootingExpiredASPNETSessionStateAndYourOptions.aspx

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

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

Другие вопросы по тегам