以前遇到过题目中的问题,但是由于可以放倒数据库实现,因此变通解决了。
今天再次遇到这个问题,是由于程序中不可避免的调用了一个第三方exe,如果不做显式调用释放掉,唤起的第三方工具,会一直占据cpu内存进程等资源。于是各种搜索,重新探索其根本原因(果然做技术时候不能偷懒)
解决方案
注意一下几个关键点,即可轻松回避Global.asax里Session_End不执行的问题。经过测试,设置后可行!
1,Session_End方法中的代码如果运行报错,会立即返回(不会记录错误,不会抛出任何异常,不能用 Respone.Write 方法输出)
2,Session_End方法中不能使用 Server.MapPath方法、Request类、Cache 类、HttpContext.Current类
3,Web.Config 配置文件中, <system.web> 节点下 <sessionState mode="InProc" timeout="1"></sessionState> 模式设置为 InProc
原文地址:
https://www.opengps.cn/Blog/View.aspx?id=130
文章的更新编辑依此链接为准。欢迎关注源站原创文章!