草庐IT

RunWorkerCompleted

全部标签

c# - BackgroundWorker 异常处理

我正在使用以下组件:一个库(抛出异常)用于测试我的日志记录的测试控制台企业图书馆异常处理应用程序block企业图书馆日志应用程序block我正在使用后台工作程序调用库方法。该库抛出异常,但从未调用RunWorkerCompleted处理程序。捕获异常的唯一方法是用try/catchblock包围我的DoWork处理程序代码。是否误解了RunWorkerCompletedEventArgs.Error属性?不是为了获取被BackgroundWorker捕获的异常吗?代码示例:staticBackgroundWorkerw=newBackgroundWorker();w.DoWork+=n

c# - RunWorkerAsync调用一次,BackgroundWorker的DoWork被调用两次?

我已经在它工作的类中创建了一个后台worker,但是如果我调用并等到结束运行,第二次调用它,它会执行两次相同的过程我认为bw.DoWork+=有问题privatevoidbutton1_Click(objectsender,EventArgse){nptest.test.start("null","null");}namespacenptest{classtest{publicstaticvoidstart(stringstr,stringstrb){if(bw.IsBusy!=true){bw.WorkerSupportsCancellation=true;bw.DoWork+=(o

C# 我应该创建一个后台 worker 还是多个?

我是那些偶然的程序员之一,所以我对编程最佳实践的了解不多。我有一个当前使用4个后台工作器的应用程序。所以我宣布他们:privateBackgroundWorkerbw1;privateBackgroundWorkerbw2;privateBackgroundWorkerbw3;privateBackgroundWorkerbw4;然后配置它们:bw1=newBackgroundWorker();bw1.WorkerReportsProgress=true;bw1.DoWork+=newDoWorkEventHandler(bw1_DoWork);bw1.RunWorkerComplet

C# 我应该创建一个后台 worker 还是多个?

我是那些偶然的程序员之一,所以我对编程最佳实践的了解不多。我有一个当前使用4个后台工作器的应用程序。所以我宣布他们:privateBackgroundWorkerbw1;privateBackgroundWorkerbw2;privateBackgroundWorkerbw3;privateBackgroundWorkerbw4;然后配置它们:bw1=newBackgroundWorker();bw1.WorkerReportsProgress=true;bw1.DoWork+=newDoWorkEventHandler(bw1_DoWork);bw1.RunWorkerComplet

c# - BackgroundWorker RunWorkerCompleted 事件

我的C#应用程序有几个后台工作程序。有时,一名后台工作人员会解雇另一名后台工作人员。当第一个后台工作程序完成并触发RunWorkerCompleted事件时,该事件将在哪个线程上触发,UI还是调用RunWorkerAsync的第一个后台工作程序?我正在使用MicrosoftVisualC#2008ExpressEdition。如果您有任何想法或建议,我们将不胜感激。谢谢。 最佳答案 如果BackgroundWorker是从UI线程创建的,那么RunWorkerCompleted事件也会在UI线程上引发。如果它是从后台线程创建的,则事