1
我需要在DoWork
期間捕獲錯誤,並且如果錯誤屬於某種類型,請重新運行相同的BachgroundWorker。已經嘗試取消它,並在Completed
事件期間致電RunWorkerAsync()
,但沒有運氣(例外情況出現,表示我的背景工作者對象已被取消)。如何重新運行BackgroundWorker
我需要在DoWork
期間捕獲錯誤,並且如果錯誤屬於某種類型,請重新運行相同的BachgroundWorker。已經嘗試取消它,並在Completed
事件期間致電RunWorkerAsync()
,但沒有運氣(例外情況出現,表示我的背景工作者對象已被取消)。如何重新運行BackgroundWorker
我猜測Bgw仍然處於Error/Canceled狀態,直到Completed事件完成。
有幾個選項:
Bgw本身並不昂貴,因此重用特定實例沒有多大意義。線程來自ThreadPool。
不會處理backgroundworker裏面的錯誤DoWork更有意義嗎? – 2010-12-09 10:36:07
我做它的處理,但它繼續完成事件處理程序無論如何...可能是GOTO的方式? – 0x49D1 2010-12-09 10:41:47