我正在尝试追踪ASP.NET v3.5应用程序上的问题,HttpSession
在其默认值(默认值)20分钟之前超时。我们看到会话在会话中仅丢失几分钟的行为,随机且没有可识别的原因,例如未处理的异常。据我所知,ASP.NET工作进程并没有死亡,否则会解释被删除的会话。
我应该使用什么方法来监控会话何时被删除?是否有一些我可以收听的事件,或System.Web
命名空间中的其他一些挂钩?
此外,有人可以确认网络活动会重置到期倒计时吗?也就是说,每次Web客户端进行HTTP GET或POST时,会话的生命周期都会重置为(默认)20分钟?
答案 0 :(得分:2)
您可以使用Session_OnEnd个活动。
答案 1 :(得分:1)
您是否检查过为IIS配置的限制。其中有一些限制CPU,网络使用等。如果发生这种情况,它会在关闭会话时将所有日志记录写入事件日志。
在第二个问题上,IIS中会话的倒数计时器会在每次请求时休息。
更新: 检查一下.. http://bluedragon.blog-city.com/lost_sessions_webgardens_sessionstate.htm
谈论将最大进程数设置为高于1。
干杯, 斯蒂芬