Jor*_*ger 7 .net vb.net asp.net session-state asp.net-3.5
我们的网站使用我们自己的自定义会话状态管理,与ASP.NET会话状态分开.但由于少数特殊页面使用SQL Server Reporting Services,因此我们还需要启用ASP.NET会话状态.由于我们处于负载平衡环境中,因此我们在单独的后端计算机上启用了ASP.NET状态服务器(aspnet_state.exe或"进程外模式").
今天我注意到,当我们暂时关闭在Dev环境中运行State Service的机器时,Dev网站停止工作("无法向会话状态服务器发出会话状态请求.")尽管EnableSessionState ="False"在正在加载的页面上.
在为不使用会话状态的页面提供请求时,为什么ASP.NET需要连接到State Service?即使页面不使用母版页,基页或任何用户控件,这似乎也会发生.我搜索了所有代码隐藏,以确保我们从不以编程方式重新启用会话状态或尝试访问它.
---更多故障排除后编辑---
正如下面的用户所建议的那样,我尝试从头开始创建一个网站来重新测试,而不会出现任何来自httpHandlers,httpModules或其他自定义逻辑的复杂情况.
<sessionState mode="StateServer" stateConnectionString="tcpip=localhost:42424" />
在<system.web>
元素下添加并启动了我的本地ASP.NET状态服务".在这一点上,我感到困惑,因为其他用户声称他们尝试了类似的东西并没有遇到同样的问题.所以我想知道它是否与使用VB.NET有关(虽然听起来很傻.)更多的人使用C#进行ASP.NET,所以我用C#网站重新进行了上面的测试,并且看到,当时没有例外.访问页面!如果我将EnableSessionState设置为True并实际访问代码中的Session集合,我只会遇到异常.
这证明ASP.NET中的VB.NET站点的行为略有不同,因为它们访问每个页面上的会话状态,即使页面不需要.不幸的是,这并没有回答我原来的问题:为什么?
我将把它交叉发布到官方的ASP.NET论坛,看看那里是否有任何大师可以解释一下.
归档时间: |
|
查看次数: |
2093 次 |
最近记录: |