我正在开发由不再适用于我的组织的人创作的ASP.net Web应用程序。有时,当在我的web应用程序中加载Default.aspx时会话丢失
我发现了一个奇怪的错误。这是间歇性的问题。
我在应用程序中有一个名为default.aspx的页面。有时候,当这个页面被加载时,整个会话都会丢失。我发现在调试器中发生Session_Start事件时会触发。有时,Session_End事件也会触发,但这似乎并不是每次都会发生。
我在web.config中找到了一个自定义的sessionState
配置,但是删除它并不能解决问题。
Default.aspx直接继承System.Web.UI.Page,并且除Page_Load外没有定义任何事件。
项目中没有global.asax。
什么可能导致这个令人沮丧的问题?
更新:我在Visual Studio 2010的内置服务器中运行应用程序时遇到此问题。我没有在我的工作站上安装IIS。
你知道它是否在IIS自己的应用程序池下运行,或者它是否在默认的应用程序池下?每当应用程序池循环时,您将失去所有会话信息(如果您使用“正在处理” - 默认 - 会话设置)。另外,你可以告诉我们该自定义sessionState部分的“模式”属性? – jadarnel27 2013-03-11 20:00:16
你可以在浏览器中检查ASP.NET_SessionId Cookie的值吗?它保持其价值吗? – 2013-03-11 20:47:27
@Malcolm,我试着通过按F12查看调试器在MSIE中检查我的cookie,然后选择缓存 - >查看Cookie信息。我看到许多按预期创建的cookie,但是我没有看到名为ASP.NET_SessionId的cookie。 – 2013-03-11 22:46:36