总是抛出OperationCanceledException的最佳实践?

时间:2017-09-11 07:07:07

标签: async-await task-parallel-library cancellation cancellationtokensource

要将任务置于已取消状态,任务应在取消时始终抛出OperationCanceledException。否则任务继续不起作用,对吧?

那你为什么在互联网上找到很多例子,只检查IsCancellationRequested的{​​{1}}标志并死于沉默。

总是抛出OperationCancelledException 是最佳做法,还是在某些特殊情况下只检查CancellationToken标志并结束任务而不抛出OperationCancelledException是合法的?

1 个答案:

答案 0 :(得分:3)

我想说推荐的用法是拨打ThrowIfCancellationRequested methodCancellationToken struct。这将测试是否已请求取消并且已经请求OperationCanceledException取消。