我启动一个任务,然后启动其他任务等等。给定那棵树,如果任何任务失败,则整个操作的结果都是无用的。我正在考虑使用取消 token 。令我惊讶的是, token 没有“CancelThisToken()”方法...
我怎么能只拥有一个CancellationToken , 取消?
最佳答案
如文档所述,您需要从源对象调用取消 方法。您提供的链接中包含示例代码。以下是相关部分:
// Define the cancellation token.
CancellationTokenSource source = new CancellationTokenSource();
previouslyProvidedToken = source.Token;
...
source.Cancel();
how can I, in possession of only a CancellationToken, cancel it?
编辑: 我在几年前写过这篇文章并重新访问它我不知道它是否真的有效,无论是在写的时候还是现在。留在这里留给后代。
如果没有对来源的引用,您将无法取消 token 。这并不意味着您需要首先生成 token 的 CancellationTokenSource
。当给定一个 CancellationToken
时,您可以创建一个新的 token 源实例,将它的 token 分配给提供的 token ,然后取消它。可以读取此 token 的所有其他方将看到已请求取消它。
关于c# - 如何取消 CancellationToken,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30875279/