0

我正在开发一个由不再为我的组织工作的人编写的 ASP.net Web 应用程序。

我发现了一个奇怪的错误。这是间歇性问题。

我在应用程序中有一个名为 default.aspx 的页面。有时,加载此页面时,整个会话都会丢失。我在调试器中看到发生这种情况时会触发 Session_Start 事件。有时,Session_End 事件也会触发,但这似乎并非每次都发生。

sessionState在 web.config 中找到了一个自定义配置,但删除它并不能解决问题。

Default.aspx 直接继承 System.Web.UI.Page 并且除了 Page_Load 之外没有定义任何事件。

项目中没有 global.asax。

什么可能导致这个令人沮丧的问题?

更新:我在 Visual Studio 2010 的内置服务器中运行应用程序时遇到了这个问题。我的工作站上没有安装 IIS。

4

2 回答 2

1

可能导致会话问题(可能不适用于您的情况)的潜在问题是,有时,某些 IIS 管理员将应用程序池设置为 WebGarden(即,最大工作进程 > 1)。这是一个常见的拔毛场景。

如果您使用的是 VS 2010,则每次启动应用程序时,VS 2010 都会启动一个“迷你 IIS”。您可以在系统托盘部分看到它。每次它启动一个新的“ASP.Net 开发服务器”,它就是一个新的会话。

只是想帮忙。

于 2013-03-22T09:43:28.817 回答
0

我发现了会话丢失的情况 - 在 asp.net 页面中,对于金额文本框字段具有无效字符,然后为其他目的检索会话变量。通过 Convert.ToInt32 或 double 发布无效数字解析后引发第一次机会异常,但该行没有显示错误,而是由于未处理的异常,会话为空,在会话检索时显示错误,从而欺骗调试......

希望它有所帮助,HydTechie

于 2013-03-22T07:43:46.273 回答