.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.
.......
等等。。
解决方案:网上有很多类似的问题的解答,我个人遇到的任务取消,是因为访问国外目标服务器超时导致的错误,进而导致了异步任务取消异常。 当然这还是在大神的提醒下猜到的! 在FQ环境下请求国外服务器就正常了,擦啊!! 坑中坑,还以为是.net Core的httpClient有什么问题呢,不明所以。 最后才查清楚。 遇到类似问题的朋友们,自己查下内部异常,多百度吧,如果请求的是国外服务器,可以试试FQ后的效果。
*博主的文章是自己平时开发总结的经验,由于博主的水平不高,不足和错误之处在所难免,希望大家能够批评指出。
*我的博客: http://www.cnblogs.com/lxhbky/
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步