Как смотреть время без активности и взаимодействовать со страницей asp.net - PullRequest
0 голосов
/ 03 февраля 2011

Допустим, у нас есть время ожидания сеанса 30 минут.

Каков наилучший способ отслеживать пользователя и взаимодействовать со страницей, когда до времени сеанса остается 1 минута.

Я нашел это решение JQuery: ссылка

Но я не уверен, что это именно то, что мне нужно. Это будет сброшено, если пользователь перемещается с помощью мыши. Мне нужно отслеживать такие действия, как запрос другой страницы или обновление страницы.

Что-то похожее на godaddy.com, если вы неактивны в течение длительного периода времени, если вы не реагируете, они автоматически выйдут из вас.

Ответы [ 2 ]

1 голос
/ 03 февраля 2011

Все, что вам нужно, чтобы сохранить сеанс, это иметь действительно простой таймер на странице, которая запускается при загрузке страницы.Вам не нужен jQuery для таймера, но он удобен для обновления сеанса:

setInterval(function() {
    $.get("/keepalive.ashx");
}, 29 * 60 * 1000); // time in milliseconds

Если вы хотите завершить сеанс, просто измените его на перенаправление:

setTimeout(function() {
    location.href = "/logout.aspx";
}, 29 * 60 * 1000);

Поскольку таймеры не выживают при загрузке страницы, пользователь не выйдет из системы, если они все еще активны.Если у вас есть другие вещи на странице, которые вы хотели бы сбросить тайм-аут, вероятно, лучше всего сделать из них функцию:

var sessionTimer;

function resetSessionTimeout() {
    if (sessionTimer)
        clearTimeout(sessionTimer);
    var sessionTimer = setTimeout(...);
}

И вызывать ее всякий раз, когда вы хотите, чтобы тайм-аут сеанса былсброс.

0 голосов
/ 03 февраля 2011

Попробуйте Трюки на время ожидания сеанса от Джо Стэгнер

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