c# – ProcessExit vs DomainUnload

前端之家收集整理的这篇文章主要介绍了c# – ProcessExit vs DomainUnload前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在处理一个错误,在应用程序关闭之前,代码并不总是被执行.代码位于AppDomain.CurrentDomain.DomainUnload事件的处理程序中.

我发现有同样问题的人收到这个建议的帖子

“当您的默认应用程序域发生DomainUnload事件时,您的
代码已停止执行.你可以做你所需要的
ProcessExit事件在默认的AppDomain上.

这对我有用,但我想知道为什么.我对这些事件中的任何一个或它们之间的差异都无法找到很多.我也想知道我是否需要订阅这两个或者是ProcessExit足够了.

编辑:

我想添加更多信息,使其更有用.

我没有在自己的AppDomain中创建新的线程.因为我希望这个代码不仅在父进程完成时运行,而且每个线程完成后,我需要订阅DomainUnload事件来处理每个线程完成以及当父进程完成时捕获的ProcessExit事件.

解决方法

ProcessExit应该足够了

DomainUnload事件设计为由其他AppDomains处理,而不是AppDomain被卸载.因此,如果处理程序附加在卸载的域中,则可能无法运行. ProcessExit事件旨在在进程退出时运行.

原文链接:https://www.f2er.com/csharp/95343.html

猜你在找的C#相关文章