| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > ASP > Управление временем жизни сессии |
| Автор: SlavonM 4.8.2009, 17:56 |
| Привет всем!!! Поделитесь соображениями, пожалуйста, как организовать такую весчь (asp, JavaScript, IIS) : Пользователь логинится на сайте, работает, доволен... Решил отойти попить кофе. Приходит, видит попап с сообщением "Бездействие системы 15 минут". При его мгновенной реакции (движение мышкой, нажатие кнопки..) продолжает работать, иначе - через 5 минут, активная сессия закрывается. Т.е., полный жизненный цикл сессии равен 20 минутам. Технически не представляю пока, как это реализовать, но логически можно рассмотреть вариант, например: 1. Создаем Первую сессию с временем жизни в 20 минут 2. По истечении 15 минут, создаем Вторую сессию с временем жизни в 5 минут 3.1. Пользователь отреагировал - Вторая сессия разрушается, Первая сессия обнуляется - продолжает работать 3.2. Пользователь не отреагировал - по истечении следующих 5 минут - обе сессии разрушаются + перехват сообщений Как обстоят дела с параметризацией в IIS, можно ли программно управлять его настройками (по части сессий)? Есть ли параметр в IIS, который определяет оставшееся время жизни сессии? Спасибо |
| Автор: Crypton 9.8.2009, 21:29 |
| Я подобное делал для одного из своих клиентов, и честно-говоря идейка геморная, но решить можно гуманными способами. Все решается с javascript (и jQuery), ну и парами пустышек .aspx страниц. Принцип таков. При загрузке страницы, счетчик сессии ASP.NET сбрасывается автоматом. Тут ты можешь создать таймер на javascript который будет просчитывать бездействие пользователя и по определенному времени отправлять ajax запрос на пустую страницу для продления сессии. А можно и так: К определенным элементам на странице прикрепить событие на onmousemove/onmouseover/и т.д. и при каждом таком событии можно проверять таймер и соответственно его сбрасывать и/или посылать ajax запрос для продления сессии. |