当前位置:  开发笔记 > 后端 > 正文

Application_End global.asax

如何解决《Application_Endglobal.asax》经验,为你挑选了2个好方法。

在应用程序的生命周期中触发Application_End时,有人可以告诉我吗?当所有会话结束时,Application_End会自动触发吗?+还有其他原因可以触发Application_End吗?



1> Dillie-O..:

application_end事件主要在IIS池被回收或应用程序本身被卸载时触发.另外需要注意的是,对依赖文件(例如web.config)的更改将导致应用程序自行重新加载,这将导致application_end事件在关闭时自动触发.

需要注意的是,我发现的最后一个用户会话超时的应用程序结束事件的唯一实例是2001年的一些旧文档.我不确定该标准是否仍适用.


我注意到在修改web.config时,可能需要几分钟才能触发application_end.

2> Eric Rosenbe..:

ASP.NET工作进程终止时触发Application_End.这通常发生在可配置的不活动时间段或IIS(或相关应用程序池)关闭或重新启动后.

在IIS 6.0中运行时,可以通过Internet服务管理器中的应用程序池设置("性能"选项卡上的"空闲超时")配置不活动超时.在早期版本的IIS下,可以在machine.config(processModel下的idleTimeout)中设置它.


您知道是否存在可以在不运行Application_End的情况下终止进程的实例.例如,我已在Application_Start中映射了网络共享,我想在Application_End上断开该共享.在没有触发Application_End的情况下,每个应用程序都可以结束吗?我想停电会满足这个标准.某种致命的应用程序错误呢?
@crush:是的,绝对,只要进程"意外"终止,事件就不会触发; 示例包括断电/硬件故障,进程中的线程"挂起"并且应用程序池终止的任何情况(例如,如果最长请求需要超过30秒才能完成IISReset),任何情况下某人或某事手动执行"结束处理"在w3wp.exe进程上(例如在任务管理器中),任何"强制关闭",以及任何非托管代码导致内存或其他进程级错误(堆栈溢出,GPF等)的情况
推荐阅读
pan2502851807
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有