如何重新运行BackgroundWorker

时间:2010-12-09 10:35:19

标签: c# backgroundworker

我需要在DoWork期间捕获错误,如果错误属于某种类型,请重新运行相同的BachgroundWorker。已经尝试取消它并在RunWorkerAsync()事件期间调用Completed,但没有运气(出现异常,说我的背景工作对象已被取消)。

1 个答案:

答案 0 :(得分:3)

我猜测Bgw仍然处于Error / Cancelled状态,直到Completed事件结束。

一些选择:

  • 重新启动DoWork中的逻辑
  • 从已完成的活动开始另一个 Bgw。

Bgw本身并不昂贵,因此重用特定实例几乎没有意义。线程来自ThreadPool。

相关问题