在我的托管环境中,我的会话超时非常短,有时甚至 2 秒,然后它们就会超时。
如果用户继续使用该网站,会话将被重置,除非 session = null 并且计数为 0。
会话应在 20 分钟后超时,然后将用户重定向到登录页面
代码如下:
protected override void OnInit(EventArgs e)
{
if (this.Session != null && this.Session.Count > 0)
{
string email = (string)this.Session["Email"];
int practiceId = (int)this.Session["PracticeId"];
int practitionerId = (int)this.Session["PractitionerId"];
this.ClientScript.RegisterHiddenField("loggedInUserName", email);
this.ClientScript.RegisterHiddenField("practiceId", practiceId.ToString());
this.ClientScript.RegisterHiddenField("practitionerId", practitionerId.ToString());
}
else
{
this.Session.Abandon();
Response.Cookies.Add(new HttpCookie("ASP.NET_SessionId", ""));
Response.Redirect("~/Default.aspx");
}
base.OnInit(e);
}
有谁知道为什么我的会话超时可能这么短?有时使用我的网站时,我可以在没有超时的情况下四处走动 2-5 分钟,而其他时间 10 秒内我会暂停。什么可能导致会话丢失,是否有任何方法可以避免或测试会话丢失?
提前致谢。