Перенаправление ASP.NET MVC 3.0 по истечении срока действия переменной сеанса?

В моем приложении ASP.Net MVC 3.0 я обращаюсь к своей переменной сеанса во всем приложении. код

HttpContext.Session["CustomerID"]= customerID;

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

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

Любая помощь будет принята с благодарностью.

Спасибо


person HaBo    schedule 07.11.2011    source источник
comment
Вы можете использовать событие Session_End в своем Global.asax для перенаправления пользователей.   -  person Emmanuel N    schedule 07.11.2011
comment
@EmmanuelN Как тут поможет Session_End? Он почти всегда запускается, когда пользователь не подключен или не делает никаких запросов, и никогда не запускается в контексте запроса.   -  person Andrew Barber    schedule 07.11.2011


Ответы (1)


Я предполагаю, что вы хотите, чтобы это произошло, как только сеанс истечет. Для этого вам нужен некоторый код на стороне клиента (javascript), проверяющий связь с сервером через определенный интервал времени.

Создайте действие с именем IsServerExpired и верните объект json, содержащий логическое значение, и URL-адрес перенаправления.

Напишите функцию javascript, которая проверяет связь с сервером, а затем выполняет перенаправление в javascript, когда возвращаемое значение истинно.

person AlbertVo    schedule 07.11.2011