gpt4 book ai didi

wpf - Dispatcher.Run 与 Dispatcher.PushFrame

转载 作者:行者123 更新时间:2023-12-04 23:52:06 27 4
gpt4 key购买 nike

我有一个非 ui 线程,我需要在该线程上发送消息。

执行此操作的正常方法是在我的线程的线程过程中调用 Dispatcher.Run()

我想修改它以使其在处理未处理的异常方面更加健壮。

我的第一个剪辑是:

   for (;;)
{
var frame = new DispatcherFrame();
try
{
Dispatcher.PushFrame(frame);
break;
}
catch (Exception e)
{
frame.Continue = false;
Log("ThreadProc caught exception:\n{0}", e);
}
}

此代码有效并允许调度程序在异常发生后继续发送消息。

有人知道这种方法有任何潜在问题吗?

最佳答案

我发现使用 dispatcherframe 在与 ui 线程一起使用时会产生一些问题 - 例如焦点问题 - 我认为你的场景会很好。

你试过用以下方法捕捉它吗:

Application.DispatcherUnhandledException

Dispatcher.UnhandledException

您也可以尝试并设置 Handled=true 以使其继续。

关于wpf - Dispatcher.Run 与 Dispatcher.PushFrame,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5697667/

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