The request was canceled due to the configured HttpClient.Timeout of 100 seconds elapsing.的解决办法
技术杂记
2022-06-02
.NET6 使用 HttpClient 请求 https 报如下错误:
The request was canceled due to the configured HttpClient.Timeout of 100 seconds elapsing
这个错误并不是一开始就有,而是跑了挺久,忽然有一天自己出现的。
解决办法
我出现这个问题,重启程序后就正常了。如果重启后依然存在,可以按照下面的方法解决。
方法1:添加环境变量
可以在 /etc/profile.d/ 中 创建 dotnet.sh,添加
export DOTNET_SYSTEM_NET_HTTP_USESOCKETSHTTPHANDLER=0
或者直接执行
echo "export DOTNET_SYSTEM_NET_HTTP_USESOCKETSHTTPHANDLER=0" >> /etc/profile.d/dotnet.sh
执行生效命令
source /etc/profile.d/dotnet.sh
env 命令查看确实已经生效。
方法2
发布的程序会包含一个 “xxx.runtimeconfig.json”文件,在 configProperties 节点添加
"System.Net.Http.UseSocketsHttpHandler": false
参考
设置环境变量:CentOS7设置环境变量 (freecplus.net)
Source命令:Linux中source命令的使用方式 | 《Linux就该这么学》 (linuxprobe.com)