C# BackgroundWorker 不为其他人触发

本文关键字:其他人 BackgroundWorker | 更新日期: 2023-09-27 18:35:14

也许这个问题没有意义,但问题是我的程序对我来说运行得很好。但是,当我将其发送到我的兄弟PC(相对较新的PC)进行测试时,BackgroundWorker没有触发。

BackgroundWorker bw = new BackgroundWorker();
bw.DoWork += new DoWorkEventHandler(fetchList);
if (!bw.IsBusy)
{
    // I have checked that this stage is reached, and it is.
    bw.RunWorkerAsync();
}

我还调试了正在调用的函数,它肯定没有触发。我正在使用.NET 2.0所以我不认为这应该是问题所在?

如果很重要,则工作线程调用的函数使用 2 个包; HtmlAgilityPackNewtonsoft.Json

C# BackgroundWorker 不为其他人触发

不,您可以指望代码工作得很好。 你不能指望的是你的fetchList方法正常工作。 如果它出于任何原因引发异常,那么这不会阻止您的程序告诉您有关它的信息。 捕获异常并将其作为 e.Error 属性传递给 RunWorkerCompleted 事件处理程序。 您需要检查它并采取适当的纠正措施,至少让用户知道。

您没有 RunWorkerDone 事件处理程序。 所以你当然不知道为什么fetchList不起作用。