【发布时间】:2014-06-05 11:09:33
【问题描述】:
我目前在我的应用程序中采用.NET Cancellation Framework。看来我需要时不时地使用链接的CancellationTokenSource,并且我发现在每个匹配的捕获中“解包”OperationCanceledException 以便它包含正确的CancellationToken 很乏味。我想问一下:
- 是否有任何开箱即用的解决方案来促进这种情况?
- 什么是处理它的“最佳实践”?
我的问题是关于 .NET 4。我还附上了代码示例,它显示了我在说什么:
使用linkedCts = CancellationTokenSource.CreateLinkedTokenSource(externalCancelToken, internalCancelToken) 尝试 myRequest.Dispatch(linkedCts.Token) 当 ex.Status = WebExceptionStatus.RequestCanceled 时将 ex 作为 WebException 捕获 If externalCancelToken.IsCancellationRequested Then 抛出新的 OperationCanceledException(externalCancelToken) ElseIf internalCancelToken.IsCancellationRequested Then 抛出新的 OperationCanceledException(internalCancelToken) 别的 扔 万一 捕获前作为 OperationCanceledException 如果 ex.CancellationToken = linkedCts.Token 那么 If externalCancelToken.IsCancellationRequested Then 抛出新的 OperationCanceledException(无,例如,externalCancelToken) ElseIf internalCancelToken.IsCancellationRequested Then 抛出新的 OperationCanceledException(Nothing, ex, internalCancelToken) 万一 万一 结束尝试 结束使用【问题讨论】:
标签: .net vb.net cancellation