也许这个问题没有意义,但问题是我的程序对我来说运行得很好。但是,当我将它发送给我的兄弟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个包; HtmlAgilityPack
和Newtonsoft.Json
答案 0 :(得分:3)
不,您可以指望 代码正常工作。您不能指望的是您的fetchList方法正常工作。如果它因任何原因抛出异常,那么不会阻止你的程序告诉你它。捕获异常并将其作为e.Error属性传递给RunWorkerCompleted事件处理程序。您需要检查并采取适当的纠正措施,至少让用户知道。
您没有RunWorkerCompleted事件处理程序。所以当然你不知道为什么fetchList不起作用。