【发布时间】:2009-02-09 20:48:31
【问题描述】:
我们的代码库需要在应用程序退出时得到通知。所以我们订阅了 System.Window.Forms.Application.ApplicationExit 事件。这适用于 Winforms 应用程序,但它是否也适用于其他类型的应用程序,例如控制台应用程序、服务和 Web 应用程序(例如 ASP.NET)?命名空间会表明它没有,并且它可能会在调用 Application.Exit() 时(显式或隐式)被引发,这对于这些其他情况可能不正确。
是否有其他事件在这些其他情况下会更好或更普遍(如果它也适用于 Winforms,那就太好了)?例如,调用Environment.Exit() 时是否有事件(控制台应用程序)?
我在 System.Diagnostic.Process 中发现了一个 Exited 事件的提及,但这似乎是为了监视 另一个 进程的退出,并且似乎没有被进程接收到本身(例如,Process.GetCurrentProcess().Exited += Process_Exited; Process.GetCurrentProcess().EnableRaisingEvents = true;)。我认为它可能只有在进程实际退出后才会被提出,所以这是行不通的。
这尤其适用于 .NET 2.0 和 C#。
【问题讨论】:
标签: events .net-2.0 console-application exit exit-handler