当会话在MVC中到期时,立即重定向到另一个视图(登录页面)

时间:2011-04-09 13:24:28

标签: asp.net-mvc-2

在我的MVC应用程序中,用户可以登录。如果会话过期,我想立即重定向到登录页面。我试过这个

  protected void Session_End(Object sender, EventArgs e)
    {

          Response.Redirect("/Home/Index");
    }

但它没有重定向页面..我可以捕获会话结束..我可以通过在那里设置一个断点来看到它。我知道很难在没有客户请求的情况下重定向页面。有什么我能做的吗? 我尝试了这个..在母版页的头部我把下面的代码

<meta http-equiv="refresh" content="0015; URL=<%= Url.Action("Index", "Home") %>"/>

代码在15秒后重定向页面。但是我只想在没有访问(空闲)页面的情况下重定向。

1 个答案:

答案 0 :(得分:2)

创建会话控制器并为其提供HasExpired bool方法。

不刷新页面,使用轮询和Jquery的setInterval方法通过ajax调用HasExpired方法。

如果HasExpired返回true,则将(通过window.location)重定向到您的主页。