【发布时间】:2010-10-03 05:54:31
【问题描述】:
我有一个包含很多线程的控制台应用程序。有些线程监视某些条件并在它们为真时终止程序。这种终止可能随时发生。
我需要一个可以在程序关闭时触发的事件,以便我可以清理所有其他线程并正确关闭所有文件句柄和连接。我不确定 .NET 框架中是否已经内置了一个,所以我在编写自己的框架之前先问一下。
我想知道是否有类似的事件:
MyConsoleProgram.OnExit += CleanupBeforeExit;
【问题讨论】:
-
我知道这是一个很晚的评论,但如果“关闭文件和连接”是您唯一想做的清理工作,那么您实际上不需要这样做。因为 Windows 在终止期间已经关闭了与进程关联的所有句柄。
-
^ 仅当这些资源归被终止的进程所有时。这是绝对必要的,例如,如果您正在后台自动化隐藏的 COM 应用程序(例如 Word 或 Excel),并且您需要确保在应用程序退出之前将其杀死,等等。
标签: c# .net events console exit