在调用BackgroundWorker之前,我需要确保它没有忙碌。因此,我会检查IsBusy
,并在有必要时调用CancelAsync:
if (bgWorker.IsBusy)
bgWorker.CancelAsync();
但是如果IsBusy
是true,在CancelAsync()
中会抛出一个InvalidOperationException异常,提示"BackgroundWorker不支持取消操作。"
文档使使用看起来非常简单,那我做错了什么呢?我怎样才能取消这个任务呢?