Перенаправление на другое представление (страницу входа) сразу по истечении срока действия сеанса в MVC

#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 выглядит?