当用户进入登录页面时,我想检测他们的会话是否超时并被重定向到此页面,因此可以显示友好的消息。
当会话是新会话且cookie [“ASP.NET_SessionId”]不为null时,我设置isTimeout = true。但isTimeout设置为true,如果它也是第一次访问。如何区分首次访问和超时?
提前致谢!
答案 0 :(得分:1)
在 Global.asax 中,有一个名为 Session_End 的方法来处理此问题。
您可以使用它来添加所需的任何功能。例如将TempData [“IsTimeout”]设置为true(如果您使用的是ASP.NET MVC)。然后,这将保留在重定向之后,并可在您的登录视图中访问。它将被销毁。
E.g。在你的Global.asax.cs
中protected void Session_End(Object sender, EventArgs e)
{
TempData["IsTimeout"] = true;
}
在您的登录视图中:
<%: ((bool)(TempData["IsTimeout"] ?? false)) ? "For security reasons you were timed out, please log in again" : "" %>