Application_End()之疑惑

gbhsky 2003-07-02 05:36:20
一直搞不懂它是在什么时候执行,应用程序终止是个什么概念?是不是客户关闭浏览器的时候触发呢?我在里边写了段删除数据记录的代码,但始终未得到执行。
...全文
204 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
dream_river 2003-12-17
  • 打赏
  • 举报
回复
如果项目重新编译之前修改过Application_Start中的代码,这样编译后第一次请求触发该事件,如果没有修改Application_Start中的代码,重新编译后也不能被重新出发。
只有重新启动IIS才能停止和重新开始应用程序。
dream_river 2003-12-16
  • 打赏
  • 举报
回复
有的书上说Application_End事件在最后一次会话超时或由于调用Session_Abandon方法使会话结束时被触发。
但我测试过了,不是这样的。应该是停止iis时在iis尚未被停止之前被触发。
Application_Start事件的触发也有点奇怪,我将项目重新编译后有时能够触发这个事件,有时则跳过去直接触发Application_BeginRequest事件。
但重新启动iis后第一次请求肯定能触发Application_Start事件

Global文件中的这几个事件的触发顺序依次是
1、Application_Start:这个事件被请求一次后,只要你不重新启动IIS以后就再也不出发了。(有时不然,有待讨论)
Application_BeginRequest:这个事件每次请求后都触发,即使在同一个浏览器中刷新也不例外。
Application_AuthenticateRequest:每次请求都被触发。
Session_Start:这个事件跟浏览器实例相关,每次打开一个新浏览器时被触发。
Application_EndRequest:跟BeginRequest时间一样,只是触发顺序不同。
Session_End:session过期或用户调用Session.Abandon()结束会话时触发。
Application_End:停止iis时在iis尚未被停止之前被触发。
Application.Error:提供一种在应用程序级处理错误的方式。所有错误都可以从页面“冒泡”到应用程序级,在这里面你可以将错误写入日志或转向其他页面。

StartHope 2003-07-02
  • 打赏
  • 举报
回复
所有的HttpApplication实例完成任务后,就触发Application_End()事件,应用程序终止执行。在应用程序中不能控制其运行
个人认为: Application_End事件应该在IIS关闭时才触发,或是在GC认为该应用无请求,并需要回收其空间时触,也就是IIS卸载应用时触发,该时刻并不太好掌握,但我认为只需要知道它是在应用完全不再工作后触发也可以做许多事情了

gbhsky 2003-07-02
  • 打赏
  • 举报
回复
原来如此
cutesun 2003-07-02
  • 打赏
  • 举报
回复
我始终也不明白 但肯定不是浏览器关闭的时候
可能是IIS关闭的时候吧
edobnet 2003-07-02
  • 打赏
  • 举报
回复
服务器关闭时执行
不是客户关闭浏览器的时候触发

62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧