初始化CancellationTokenSource with a delay value集时,是否可以事后检查到底发生了什么 - 是否达到超时时间或是否明确调用.Cancel(..)?
现在,在延迟似乎之后发生的OperationCanceledException没有这样的指示,但也许我不知何故错过了它。
答案 0 :(得分:3)
解决这个问题的一种方法是有两个单独的CancellationTokenSource
:一个用于延迟,另一个用于手动取消。然后,您可以使用CancellationTokenSource.CreateLinkedTokenSource()
将它们合并为一个并使用它。取消组合令牌源后,您可以检查两个原始令牌源以查看发生的情况。