如果会话空闲了5分钟,我想在登录页面上显示“你的会话已经过期”。
Sql会话状态和表单身份验证超时的超时值应该是什么:
- 相同?
- 会话状态>表格暂停
- 表格超时>会议时间。
醇>
理想情况下,如果有人能够解释上述差异,将会受到赞赏。
目前,我的代码如下所示,即使在登录重定向为空闲5分钟后,Session [“SessionID”]也不是空的:
On Session_Start()
Session["SessionID"] = Guid.NewGuid();
在LogOn.cshtml上:
@{
string sessionExpiredMsg = string.Empty;
HttpContext ctx = HttpContext.Current;
if (ctx.Session["SessionID"] == null)
{
sessionExpiredMsg = "Your session has expired. Please re-login again.";
}
}
@
在web.config上:
<sessionState
timeout=5....
<authentication mode="forms"
timeout=5....
谢谢。
答案 0 :(得分:5)
如果您的会话状态超时持续时间超过表单超时,则不会出现问题,因为一旦您再次登录,如果未过期,您将检索最后一个。