在我的测试中,似乎一旦CancelAsync被调用,将BackgroundWorker不再尊重ReportProgress. 无异常执行,但实际上停止执行任何操作。我在想像:ProgressChangedReportProgressProgressChanged
<code>
if (CancellationPending) return;
</code>
在ProgressChanged.
其他人可以证实或反驳这一说法吗?
虽然我明白为什么它看起来是个好主意,但它假设命令对象一旦CancelAsync被调用就不会再做任何用户通知,这似乎是假的。这实际上也意味着您至少必须在致电之前始终检查取消ReportProgress,这非常笨拙。即便如此,我也不认为这对一场比赛是万无一失的(线程麻木的说;-)。