.net - Task.FromCanceled 中的cancelToken 参数的用途是什么?

标签 .net task-parallel-library

有什么理由不将此方法调用为:

var task = Task.FromCanceled(new CancellationToken(true));

最佳答案

如果您尝试等待任务,已取消的任务会引发 TaskCanceledException(如果您尝试等待该任务,则会引发 AggragateException,其中 TaskCanceledExcption 作为内部异常,如果您获取 .Result 或调用 .Wait())。该异常的属性之一是 the CancelationToken that caused the cancellation ,传递给构造函数的标记被分配给该异常的属性。

如果您的代码不关心任务引发的异常中的标记,那么没有理由不执行您在示例中所做的操作。

关于.net - Task.FromCanceled 中的cancelToken 参数的用途是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35003220/

相关文章:

c# - Raven DB - 让它自动生成自己的 key

multithreading - NCompBus和WCF间歇性地无法完成TaskCompletionSource

c# - 如何使用异步 Web 请求进行多线程处理

c# - 为什么这个 Parallel.ForEach 代码会卡住程序?

c# - 使用 LinkTo 谓词的 TPL 数据流 block

c# - TPL Dataflow,如何将项目转发到许多链接目标 block 中的一个特定目标 block ?

c# - 键盘按键本地化

c# - 应用程序异常关闭时删除RabbitMQ Queue

C#、J# 和 VB.NET 是否可以在每个类中编写一个类并使其变量在一个应用程序中交互?

c# - 在 Silverlight 4 中使用 ComAutomationFactory 遍历 Word 文档字段