gpt4 book ai didi

c# - ProcessExit 与 DomainUnload

转载 作者:可可西里 更新时间:2023-11-01 09:06:01 25 4
gpt4 key购买 nike

我正在处理一个错误,在该错误中,代码并不总是在应用程序关闭之前执行。该代码位于 AppDomain.CurrentDomain.DomainUnload 事件的处理程序中。

我找到了一个有同样问题的人的帖子,他收到了这个建议

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

这对我有用,但我想知道为什么。关于这些事件或它们之间的差异,我没有找到太多信息。我还想知道我是否需要同时订阅两者,或者 ProcessExit 是否足够。

编辑:

我想添加更多信息以使其更有用。

我忽略了新线程是在它们自己的 AppDomain 中创建的。由于我希望此代码不仅在父进程完成时运行,而且在每个线程完成时运行,因此我需要订阅 DomainUnload 事件以在每个线程完成时处理以及 ProcessExit 事件以在父进程完成时捕获。

最佳答案

ProcessExit 应该足够了。

DomainUnload 事件旨在由其他 AppDomain 处理,而不是被卸载的 AppDomain。因此,如果处理程序附加在正在卸载的域中,它可能不会运行。 ProcessExit 事件设计为在进程将要退出时运行。

关于c# - ProcessExit 与 DomainUnload,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1041435/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com