Обновить сеанс ASP.net после тайм-аута по умолчанию

Мне нужно возобновить мой старый сеанс, если время ожидания сеанса превышает 20 минут по умолчанию. Есть ли какие-либо концепции обновления сессий в ASP.net?

11.12.2008 09:41:18
4 ОТВЕТА

Один из способов сделать это - написать функцию JS, которая запускается через некоторый интервал. Эта функция будет выполнять асинхронный вызов (AJAX) к серверу, чтобы поддержать сеанс. Таким образом, сессия не будет прервана. Это один из способов, который я знаю и видел, использовал.

1
11.12.2008 09:46:49

Если вы продлеваете сеанс после его истечения, а по истечении этого срока вы продляете его, то, что вы действительно делаете, вообще не имеет срока его действия.

Почему бы просто не продлить период сеанса за 20 минут? Это условно?

3
11.12.2008 09:50:10

На самом деле, нет. По крайней мере, не после истечения срока действия.

Самым распространенным, что я видел, является периодическая отправка Ajax-запроса «PING». Просто что-то для доступа к серверу и перезапуска отсчета таймаута для сеанса.

Джефф написал об этом некоторое время назад.

1
11.12.2008 09:50:35

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

Я также добавил следующую строку на страницу дефрибулятора, чтобы предотвратить кэширование, и оно отлично работает для нас.

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

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

3
23.05.2017 10:32:49