加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

asp.net – 终止所有会话,然后是应用程序结束事件

发布时间:2020-12-16 06:23:56 所属栏目:asp.Net 来源:网络整理
导读:我们在生产环境中遇到一种奇怪的现象,应用程序每隔几个小时就会通过Session_End事件结束会话并激活Application_End事件来解雇所有用户. 在我们的日志中,所有用户的会话都以相同的毫秒数关闭. 我们在测试环境中遇到了这个问题,但仅在极少数情况下,我们无法复
我们在生产环境中遇到一种奇怪的现象,应用程序每隔几个小时就会通过Session_End事件结束会话并激活Application_End事件来解雇所有用户.
在我们的日志中,所有用户的会话都以相同的毫秒数关闭.
我们在测试环境中遇到了这个问题,但仅在极少数情况下,我们无法复制此问题.
其他一切似乎都很好,在这台服务器上运行的其他应用程序运行正常,没有内存泄漏或CPU过度使用.该应用程序基于ExtJS版本3.3,NHibnernate 3.2和ASP.NET 4.0.
它似乎不是Timeout错误,一些用户在会话结束前只工作了几分钟.
有没有人遇到类似的问题?

解决方法

应用程序池回收的原因有多种(从而结束所有打开的会话并结束应用程序).有关完整概述,请参见 http://blogs.msdn.com/b/johan/archive/2007/05/16/common-reasons-why-your-application-pool-may-unexpectedly-recycle.aspx.

我们曾在生产环境中遇到过类似的问题.回收的原因是病毒扫描程序在每次扫描时触及web.config,使应用程序池回收.尝试在服务器上禁用病毒扫描程序或排除病毒扫描程序中的应用程序目录.

更改以下文件也会触发立即重新启动应用程序池:

> web.config
> machine.config
> global.asax
> bin目录中的任何内容或它的子目录

这篇文章:http://weblogs.asp.net/scottgu/archive/2005/12/14/433194.aspx为您提供了一种通过更详细的日志记录来捕获应用程序结束事件的方法.这可能有助于您找到回收的原因.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读