【发布时间】:2023-03-21 14:50:01
【问题描述】:
在我的登录页面中,我将连接字符串和登录用户角色放入会话变量中。为了检查会话是否未过期,我将以下代码行放入其他页面的 page_load 事件中。
protected void Page_Load(object sender, EventArgs e)
{
if (Session["userRole"])==null
Response.Redirect("Login.aspx");
.........
}
但有时当 Web 应用程序空闲一段时间时,我会收到 Session[conString] is expired 错误。现在我想知道不同会话变量的到期时间是否不同。如果不是,那么当应用程序检测到会话已过期时,我不应该被重定向到登录页面吗?
【问题讨论】:
-
尝试记录 Session["userRole"] 并查看连接字符串过期时记录的值。实际上,会话变量不会过期,但会话会过期。
-
如果应用程序由于 web.config 更改或应用程序池回收而重新启动,那么会话也会丢失。
标签: c# asp.net session-variables