【问题标题】:What are scenarios that trigger Application_End event?触发 Application_End 事件的场景有哪些?
【发布时间】:2012-10-24 10:31:38
【问题描述】:

Asp.net 有一个 Application_End 事件,当应用程序结束时发生,像这样

void Application_End(object sender, EventArgs e)
{
}

我的问题是:这个事件是什么时候真正发生的,即什么样的情况会触发它?

假设我有一个运行24x7x365 的银行Web 应用程序,它连续执行并一次从数千个地方访问,那么这个Application_End 事件何时会发生?什么样的情况是造成这种情况的原因?

【问题讨论】:

    标签: c# asp.net .net vb.net events


    【解决方案1】:

    在回收 IIS 池或更改 bin 文件夹或 web.config 文件时会触发 Application_End 事件。您应该更改默认 IIS 设置以在非高峰时间安排每天一次回收。

    【讨论】:

    • 感谢 Stefan,这个答案对我帮助很大,我在 Application_Start 和 Application_End 事件中使用了 SMS 发送功能来发送我的手机短信,但我不知道构建我的 Web 服务会导致应用程序触发开始和结束事件,我收到了快速消息:) 你的回答帮助我了解发生了什么。谢谢。
    • “当您更改 bin 文件夹时”是我的问题。在某种情况下,我正在向 BIN 目录写入一个调试文本文件,它一直把我踢出网络应用程序(即关闭我的会话和 application_end() 触发。这让我发疯了,所以感谢这个小 sn-p .
    • @StefanP:如果您必须故意安排回收,那么您的应用程序就有问题。您永远不必反复重启/回收。如果有一个问题让您考虑到这一点,那么您需要调查并修复 THAT 问题,而不是通过安排回收来对其贴上创可贴。
    【解决方案2】:

    它会在其中一种情况下被触发:

    1. IIS 池已重新启动。

    2. Web.config 更改。

    3. 应用程序已重新启动。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-05-07
      • 2012-03-26
      • 1970-01-01
      • 2012-12-13
      • 2015-08-13
      • 2015-02-08
      相关资源
      最近更新 更多