1

在我的测试中,似乎一旦CancelAsync被调用,将BackgroundWorker不再尊重ReportProgress. 无异常执行,但实际上停止执行任何操作。我在想像:ProgressChangedReportProgressProgressChanged

<code>
if (CancellationPending) return;
</code>

ProgressChanged.

其他人可以证实或反驳这一说法吗?

虽然我明白为什么它看起来是个好主意,但它假设命令对象一旦CancelAsync被调用就不会再做任何用户通知,这似乎是假的。这实际上也意味着您至少必须在致电之前始终检查取消ReportProgress,这非常笨拙。即便如此,我也不认为这对一场比赛是万无一失的(线程麻木的说;-)。

4

1 回答 1

0

原来是我自己的代码阻止了 ReportProgress 的工作。呃。已验证即使在调用 CancelAsync 并且 CancellationPending 设置为 true 之后也会调用 ReportProgress。

于 2012-09-12T23:08:54.617 回答