Почему заканчивается мой сеанс? - PullRequest
2 голосов
/ 29 июня 2011

У меня есть веб-приложение ASP.NET, которое я запускаю с VS2010, для которого настроено время ожидания сеанса на 20 минут.
Я оставляю страницу работающей, которая выполняет вызов ajax каждые 2 минуты и имеет дефибриллятор реализовано.При такой настройке сеанс никогда не должен истекать;и все же я нахожу, что через 20 минут мой сеанс все еще заканчивается.

Кто-нибудь знает, почему это происходит?И что более важно, кто-нибудь может сказать мне, как сделать так, чтобы сеанс никогда не заканчивался, когда пользователь находится на этой странице?


РЕДАКТИРОВАТЬ: я изменил дефибриллятор, чтобы он теперь выполнял этот код в javascript: setTimeout("location.href = '/Defibrillator.aspx?nocache=" + Math.floor(Math.random()*100000000001) + "';",60000);
Все то же самое, так что это не проблема с кешем.
Я запускаю сайт из VS напрямую (через кнопку отладки "play"), поэтому он не должен делиться пулом приложений, верно?

Ответы [ 2 ]

1 голос
/ 29 июня 2011

Вы убедились, что JavaScript выполняется? Проверьте свои журналы доступа, чтобы видеть, есть ли запрос там.

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

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

0 голосов
/ 12 июля 2011

В конце концов мне пришлось прибегнуть к добавлению функции автосохранения с использованием ajax.
Это печальный день, когда StackOverflow не может дать мне ответ :(


РЕДАКТИРОВАТЬ: я наконец-то нашелчто вызвало проблему ... оказалось, что в каком-то месте главной страницы код вызывал довольно непонятный метод, который устанавливал фиксированный тайм-аут ... так что это не было чем-то, с чем вы могли бы мне помочь. Извинитеоб этом.

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