在我的登录页面中,我将连接字符串和登录用户角色放入会话变量中。为了检查会话是否已经过期,我把下面几行代码放入其他页面的page_load事件中。会话变量是否在不同的时间量后过期?
protected void Page_Load(object sender, EventArgs e)
{
if (Session["userRole"])==null
Response.Redirect("Login.aspx");
.........
}
,但我得到Session[conString] is expired
错误有时当Web应用程序是闲置了一段时间。现在我想知道不同会话变量的到期时间是否不同。如果没有,那么当应用程序检测到会话过期时,我不应该被重定向到登录页面吗?
尝试记录Session [“userRole”]并查看连接字符串到期时记录的值。实际上,会话变量不会过期,但会话确实如此。 – Kangkan 2013-02-18 08:28:16
如果应用程序由于web.config的更改而重新启动,或者应用程序池回收,则会话也会丢失。 – 2013-02-18 08:38:11