gpt4 book ai didi

c# - 使用 WF 的多线程应用程序的错误处理模式?

转载 作者:行者123 更新时间:2023-11-30 18:09:46 34 4
gpt4 key购买 nike

我正在写一个长而详细的问题,但只是将其废弃以支持一个我在这里找不到答案的更简单的问题。

应用简介:

我有一个生成多个线程的 WPF 应用程序,每个线程都执行自己的 WF。处理线程和 WF 中允许从 GUI 端进行用户交互的错误的最佳方法是什么?我绝对计划处理线程中的任何低级异常,因为我不希望线程退出。

问题总结:

  1. 您如何实现 WF 与启动它的线程之间的通信?有 WorkflowTerminated,但我不希望工作流退出——我需要解决问题并让它继续。我假设唯一的选择是使用 FaultHandler,但想知道是否有另一种方法可以在不使用事件 block 的情况下完成。我希望有一个我还没有找到的框架。

  2. 来自 WF 的错误需要被线程捕获,然后需要在 GUI 中显示错误。然后用户将做出恢复的逻辑选择,然后应该将其发送回线程,然后发送到 WF。再说一遍,我应该看看外面有什么东西吗?

即使是能够实现我所描述的内容的流行语/关键字也会非常有帮助,我可以对它们中的每一个进行研究。然而,任何额外的见解总是受欢迎的。 :)

最佳答案

在多线程 WPF 应用程序中对我有用的是让错误线程调用回调方法,将异常和其他信息传递回 UI 线程。回调可以有返回值,所以如果你的线程在等待用户响应时可以阻塞,那么这对你有用。请记住,回调将在调用它的线程上运行,因此任何 UI 更新都必须通过控件的调度程序完成。您将必须决定是否所有线程都使用相同的回调,以及如果多个线程有可能同时抛出异常,您需要哪种同步。

关于c# - 使用 WF 的多线程应用程序的错误处理模式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2238392/

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