加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

c# – ProcessExit vs DomainUnload

发布时间:2020-12-15 06:32:23 所属栏目:百科 来源:网络整理
导读:我正在处理一个错误,在应用程序关闭之前,代码并不总是被执行.代码位于AppDomain.CurrentDomain.DomainUnload事件的处理程序中. 我发现有同样问题的人收到这个建议的帖子 “当您的默认应用程序域发生DomainUnload事件时,您的 代码已停止执行.你可以做你所需要
我正在处理一个错误,在应用程序关闭之前,代码并不总是被执行.代码位于AppDomain.CurrentDomain.DomainUnload事件的处理程序中.

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

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

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

编辑:

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

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

解决方法

ProcessExit应该足够了

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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读