39得票3回答
InvalidOperationException - 对象正在被其他地方使用

我已经阅读了这个SO问题,但它没有帮助。 这里的情况有所不同。我正在使用 Backgroundworkers。第一个 Backgroundworker 开始在用户的图像输入上运行,并在 firstbackgroundworker_runworkercompleted() 中调用另外 3 个 ...

38得票6回答
文件复制进度条

我使用了这段代码: using System; using System.Collections.Generic; using System.ComponentModel; using System.Windows.Forms; using System.IO; namespace Win...

35得票8回答
如何在匿名方法中使用yield return?

我有一个匿名方法,用于我的BackgroundWorker:worker.DoWork += ( sender, e ) => { foreach ( var effect in GlobalGraph.Effects ) { // Returns Eff...

35得票1回答
这个BackgroundWorker声明它不会报告进度。- 为什么?

我对这个BackgroundWorker不太熟悉 我阅读了一些关于如何创建它的文章 这就是它产生的结果 private void backgroundWorker1_DoWork(object sender, DoWorkEventArgs e) { Bitmap...

34得票4回答
在定时器的回调方法中抛出异常

我无法在任何地方找到关于这个问题的答案... 在 System.Threading.Timer 的回调方法中抛出异常(或者在 System.Timers.Timer 的事件处理程序中抛出异常),会发生什么?异常会传播到创建定时器的线程还是异常会丢失? 在定时器的回调函数中抛出异常会产生什么...

33得票6回答
使用delayed_job进行轮询

我有一个流程,通常需要几秒钟才能完成,因此我正在尝试使用delayed_job来异步处理它。作业本身运行良好,我的问题是如何轮询作业以查找它是否完成。 我可以通过将其分配给变量来从delayed_job获取id: job = Available.delay.dosomething(:var...

33得票2回答
WPF BackgroundWorker与Dispatcher的区别

在我的WPF应用程序中,我需要执行异步操作,然后需要更新GUI。我需要在不同的时间使用不同的操作多次执行此操作。我知道两种方法可以实现:Dispatcher和BackgroundWorker。 因为一旦选择了一种方法就很难回头,所以我想问一下:哪种方法更好?选择其中一种方法的原因是什么? ...

32得票8回答
C#: 我需要在运行时处理创建的BackgroundWorker吗?

通常我会在表单上使用这样的代码: private void PerformLongRunningOperation() { BackgroundWorker worker = new BackgroundWorker(); worker.DoWo...

32得票7回答
接受多个参数的BackgroundWorker替代方案?

BackgroundWorker对象允许我们将单个参数传递给DoWorkEventHandler。// setup/init: BackgroundWorker endCallWorker = new BackgroundWorker(); endCallWorker.DoWork += ne...

30得票3回答
BackgroundWorker完成运行事件

我的C#应用程序有几个后台工作线程。有时,一个后台工作者会触发另一个后台工作者。当第一个后台工作者完成并触发RunWorkerCompleted事件时,该事件会在哪个线程上触发,UI线程还是调用RunWorkerAsync的第一个后台工作者线程?我正在使用Microsoft Visual C#...