Сеанс ASP.NET истекает в запросе Ajax - PullRequest
0 голосов
/ 22 октября 2010

Здесь уже задано много вопросов о том, что делать после истечения сеанса при выполнении Ajax-запроса. Одним из обходных путей является размещение в ответе заголовка, который перенаправляет на страницу входа.

Мой сайт выполняет постбэк только первой страницы, а затем все запросы Ajax, что делает истечение срока сеанса в определенное время, но есть ли возможность обновить тайм-аут сеанса в запросах Ajax (в обработчике ASP, который посещает запрос), так что сеанс истекает, но только когда я передал время ожидания без каких-либо запросов на сервер вообще?

1 Ответ

1 голос
/ 22 октября 2010

Вы можете реализовать KeepAlive SessionObserver (JavaScript) и самостоятельно отслеживать время ожидания сеанса.Таким образом, вы можете перехватывать SessionTimeouts незанятых пользователей, перенаправлять их с помощью сообщения и других полезных вещей.

Кроме того, сеансы должны поддерживаться при отправке запросов Ajax.Возможно, они поддерживаются только в том случае, если для соответствующего WebService установлен атрибут EnableSession.Вы можете попробовать это тоже.

Например,

[WebMethod( EnableSession = true )]
public string WebServiceMethod(){ return "I'm session aware.";}
...