WPF AppDomain UnhandledException handler timeout

本文关键字:timeout handler UnhandledException AppDomain WPF | 更新日期: 2023-09-27 18:34:54

AppDomain具有未处理的异常时,可以处理AppDomain.CurrentDomain.UnhandledException事件。

但是,您无法阻止AppDomain关闭。你不能只是阻止线程。最终,应用域将关闭它。

在 ASP.NET 中,如果您注册了对象(IRegisteredObject(,则AppDomain将为您的代码提供 30 秒的运行时间。

有谁知道标准 WPF 应用程序的超时是多少?

WPF AppDomain UnhandledException handler timeout

我不知道

如何为调度程序未处理异常处理程序设置超时

但是,应用程序是否以 Environment.ExitApplication.Exit 终止,其中存在未处理的异常?

引用: http://www.dev102.com/2008/06/24/how-do-you-exit-your-net-application/

环境退出 - 从 MSDN:终止此过程并提供基础操作系统 指定的退出代码。这是代码以在使用控制台应用程序时调用。

申请退出 -从 MSDN:通知所有消息泵它们必须终止,并且然后在消息出现后关闭所有应用程序窗口处理。这是在你被调用时使用的代码Application.Run (WinForms 应用程序(,此方法停止所有运行消息循环在所有线程上并关闭应用。关于此方法还有其他一些问题,请阅读它在 MSDN 页面中。

对于 WPF,如果未经处理的异常会使应用程序崩溃 Environment.Exit(应该是 Application.Exit( - 我怀疑应用程序在所有线程完成之前不会退出。如果是这样,那么您可以尝试通过 DispatcherUnhandledException 处理程序中的线程执行您需要执行的操作。

你能让我知道这是否也是行为吗?我很好奇。我们从来没有遇到过这个问题,因为在WPF调度程序UnhandledException处理程序上,我们只对磁盘进行简单的日志记录