微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

.Net core webapi使用httpClient发送异步请求遇到TaskCanceledException: A task was canceled

  前言:本人最近较多使用.net core的项目,最近在使用httpClient发送请求的时候,遇到服务器处理时间较长时,就老是会报异常:TaskCanceledException: A task was canceled。   我的使用异步请求的方法也较为老套,使用的Task a=()=>{};   a.Wait();  来等待异步操作的结束,这种方式执行等待时,当程序出现错误,就会出现上面的异常信息,这时候我们需要检查异常里的内部异常看看有没有有用的信息?

 

  常见的内部异常有:A task was canceled

          The response ended prematurely.

          Unable to read data from the transport connection

          Error while copying content to a stream.

          .......

          等等。。

 

  解决方案:网上有很多类似的问题的解答,我个人遇到的任务取消,是因为访问国外目标服务器超时导致的错误,进而导致了异步任务取消异常。   当然这还是在大神的提醒下猜到的!  在翻墙环境下请求国外服务器就正常了,擦啊!!  坑中坑,还以为是.net Core的httpClient有什么问题呢,不明所以。  最后才查清楚。   遇到类似问题的朋友们,自己查下内部异常,多百度吧,如果请求的是国外服务器,可以试试翻墙后的效果

          

 

  

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐