我最近将一个 ASP.Net (3.5) 应用程序移到了一个新服务器上,它产生了一个奇怪的问题,我在排除故障时遇到了问题。
在每个页面加载时,无论我使用什么浏览器(IE、FF、Chrome),ASP.Net/IIS 在每个页面加载时都会向我发出一个新会话,而忘记了它调用的上一个会话。
我有一个简单的页面来测试它,如下所示:
<asp:Button ID="Button1" Visible="true" runat="server" Text="Button" />
<%= HttpContext.Current.Session("Test")%>
<br /><br />
<%= Session("GlobalTest") %>
<a href="Test.aspx">Reload the page</a>
在后面的代码中,我有这个按钮:
HttpContext.Current.Session("Test") = DateTime.Now.ToLongTimeString
在 Global.asax
Sub Session_Start(ByVal sender As Object, ByVal e As EventArgs)
' Code that runs when a new session is started
Session("GlobalTest") = "Session Created on : " + DateTime.Now.ToLongTimeString()
End Sub
当您按下按钮时,它最初会很好地显示会话值。去重新加载页面,或者通过链接,或者只是加载新的并且信息(除了现在更新到新时间的全局)消失。
在 web.config 中,会话是这样设置的:
<sessionState mode="InProc" timeout="15" useHostingIdentity="false" cookieless="false" />
有没有人经历过类似的情况?