c# - 在 asp.net WebService 中未调用 Application_End 时

标签 c# asp.net .net iis application-end

我知道在以下情况下会调用Apllication_end:

  1. 编辑正在运行的应用程序的配置文件。
  2. 在bin目录下修改一个dll。
  3. 停止(或重新启动)IIS。
  4. 在 IIS6 应用程序池中或使用 aspnet 工作进程打开进程回收。

但我的问题是什么情况下不会调用它?
我知道如果您手动结束 w3wp 进程或者服务器将无情地关闭,它不会被调用。

还有其他场景吗?

谢谢!

最佳答案

你的问题的答案基本上已经在你的问题中了。只要托管您的 Web 服务的进程正常关闭,就会调用 Application_End。

唯一会发生这种情况的是:

  1. 导致 IIS 重新启动服务进程的操作(更改文件会强制执行此操作)
  2. IIS 服务已关闭
  3. 过程回收。

如果进程突然终止(即终止 w3wp 进程),它将没有机会运行。

关于c# - 在 asp.net WebService 中未调用 Application_End 时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10300613/

相关文章:

c# - UWP - 项目中包含的文件出现 UnauthorizedAccessException

c# - 在安全模式下以编程方式重新启动然后执行程序

c# - 如何使用 ODBC 连接 .NET Core 中的 Sybase 17 ASA?

asp.net - 有任何 SQL Server 多记录集存储过程陷阱吗?

c# - 将字符串从托管 C# 传递到托管 C++

c# - c# 中是否有一些用于高级元编程的行业 "standard"?

c# - gridview 中的行更新不起作用

c# - 使用 UserData 中的有效 XML 字符串创建 FormsAuthenticationTicket 实例

c# - 将 StreamReader 返回到开头

c# - 我可以在后台线程中访问 session 吗?