不需要取消的异步方法

时间:2014-07-06 07:42:54

标签: .net asynchronous task-parallel-library async-await

学习取消发现的异步任务this article

  

作为支持基于任务的异步编程模型的一部分   在.NET Framework 4.5中,我们将CancellationToken结构添加到了   .NET Framework中大量异步API的签名。对于   例如,HttpClient类暴露了GetAsync方法重载   接受取消令牌。然而,并非所有人都必不可少   支持取消的异步方法。例如,如果你看一下   HttpContent类,LoadIntoBufferAsync方法不会公开   带有取消令牌的重载。

在签名中公开CancellationToken的异步操作与不在其中的异步操作之间的根本区别是什么?

1 个答案:

答案 0 :(得分:4)

  

在签名中暴露CancellationToken的异步操作与不签名的异步操作之间的根本区别是什么?

在签名中公开CancellationToken的异步操作:

  • 可以取消

在签名中不公开CancellationToken的异步操作:

  • 无法取消;或
  • 他们可以通过其他方式取消(例如yourAsyncObject.Dispose很好地包装所有内容)