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 应用程序的超时是多少?
如何为调度程序未处理异常处理程序设置超时
但是,应用程序是否以 Environment.Exit 或 Application.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处理程序上,我们只对磁盘进行简单的日志记录