首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Web :使用DelegatingHandler的CancellationToken

Web :使用DelegatingHandler的CancellationToken
EN

Stack Overflow用户
提问于 2013-05-28 20:38:50
回答 1查看 2.6K关注 0票数 2

典型的Web实现如下..。

代码语言:javascript
复制
protected async override Task<HttpResponseMessage> SendAsync(
    HttpRequestMessage request, CancellationToken cancellationToken)
{
    // TODO: Do work before inner handler here

    // Call the inner handler.
    var response = await base.SendAsync(request, cancellationToken);

    // TODO: Do work _after_ inner handler here

    return response;
}

处理CancellationToken.IsCancellationRequested == true的首选方法是什么?

我是否应该:

  • 生成错误响应并中断委托链?
  • 什么也不做(如上)?
  • “C”选项?
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-05-28 20:46:29

当令牌被取消时,取消语义将抛出异常(例如,CancellationToken.ThrowIfCancellationRequested)。

如果您没有任何异步工作要做(除了base.SendAsync),那么您可以忽略令牌。

注意,如果令牌被取消,await base.SendAsync可能会引发异常。异常将自然传播,但如果您有任何清除必须进行,无论取消,使用usingfinally块。

票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16801078

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档