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