В web.config я устанавливаю таймаут в sessionState на 20 минут. Согласно MSDN, этот тайм-аут определяет количество минут, в течение которых сеанс может простаивать до его отказа. В IIS 7 DefaultWebSite- > Session State- > Cookie Settings- > Time Out автоматически заполняется значением тайм-аута, установленным в web.config, что в моем случае составляет 20 минут. Кроме того, Application Pools- > DefaultAppPool- > Advanced Settings- > idleTimeout, я установил его в 10 минут.
Затем я сделал два теста: Первый тест: я вошел в мое веб-приложение в 15:45, на холостом ходу в течение 10 минут. В 3:55 вечера я попытался использовать свое приложение, меня выгнали. Я думаю, что idleTimeout входит в игру.
Второй тест: я вошел в мое веб-приложение в 16:00, играю с приложением в 16:05, 16:10, 16:15 и 16:20. Я ожидал, что его вышвырнут в 16:20. Но я не был. Я думал, что тайм-аут состояния сеанса (20 минут) в IIS 7 является максимальным временем, в течение которого сеанс пользователя может быть активным до того, как веб-агент вызовет повторную аутентификацию пользователя. По-видимому, из этого теста это не так. Может ли кто-нибудь объяснить это мне? Кроме того, как я могу установить таймаут для вышеуказанного случая?