会话变量会在不同的时间后到期吗?

时间:2013-02-18 08:24:25

标签: c# asp.net session-variables

在我的登录页面中,我将连接字符串和登录用户角色放入会话变量中。要检查会话是否未过期,我将以下代码行放入其他页面的page_load事件中。

protected void Page_Load(object sender, EventArgs e)
{
   if (Session["userRole"])==null
      Response.Redirect("Login.aspx");

   .........
}

但是,当Web应用程序闲置一段时间时,有时会出现Session[conString] is expired错误。现在我想知道不同会话变量的到期时间是否不同。如果没有,那么当应用程序检测到会话过期时,我不应该被重定向到“登录”页面吗?

1 个答案:

答案 0 :(得分:3)

应用程序的空闲超时可能短于会话超时。这意味着如果您的应用程序在指定会话到期之前处于空闲状态,Web服务器将终止您的应用程序。

不,会话变量不会过期。会话确实(在指定的超时后)。