【发布时间】:2012-02-01 19:05:26
【问题描述】:
我正在使用在 web.config 中具有以下超时值的旧系统。
<sessionState timeout="120" />
...
<forms name="login" timeout="240" />
我还实施了以下措施来防止空会话变量问题。这是通用版本:
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
If Not IsPostBack Then
Session("DocNum") = ""
Else
If Session("DocNum") Is Nothing Then
Response.Redirect("~/index.aspx?e=SessionExpired")
End If
End If
End Sub
似乎会话变量在 120 分钟设置下被清除,即使系统上有许多用户。这似乎经常发生。
我已经读到应用程序池可能会导致这种情况,但这是怎么回事?还有哪些其他配置和超时值可能会导致此问题?
感谢您的帮助。
【问题讨论】:
-
您的会话状态是否设置为 InProc?如果是这样,应用程序池重置会导致此问题。
标签: asp.net vb.net session session-timeout