#asp.net-mvc-2
#asp.net-mvc-2
Вопрос:
В моем приложении MVC пользователь может войти в систему. Если срок действия сеанса истек, я хочу немедленно перенаправить на страницу входа. Я пробовал это
protected void Session_End(Object sender, EventArgs e)
{
Response.Redirect("/Home/Index");
}
Но это не перенаправляет страницу..Я могу зафиксировать конец сеанса.. Я могу видеть это, устанавливая там точку останова. Я знаю, что сложно перенаправить страницу без запроса от клиента. Могу ли я что-нибудь сделать??
и я попробовал это .. в разделе head главной страницы я поместил следующий код
<meta http-equiv="refresh" content="0015; URL=<%= Url.Action("Index", "Home") %>"/>
код перенаправил страницу через 15 секунд. Но я хочу перенаправлять, только если пользователь не обращается (бездействует) к странице.
Ответ №1:
Создайте контроллер сеанса и присвоите ему истекший метод bool.
Не обновляйте страницу, используйте опрос и метод setInterval в Jquery для вызова метода HasExpired через ajax.
Если HasExpired возвращает true, перенаправление (через window.местоположение) на вашу домашнюю страницу.
Комментарии:
1. Итак, как
HasExpired
выглядит?