我正在处理一个遗留系统,其中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 分钟设置下被清除得很好。这似乎经常发生。
我读到应用程序池可能会导致这种情况,但是它是如何造成的呢?还有哪些其他配置和超时值可能会导致此问题?
感谢您的帮助。