HttpWebResponse ReadWriteTimeout和Timeout
之前有一个项目需要多等待一会儿,默认的请求超时时间是不够的,所以我设置了Timeout
,但结果并没有像我想象中那样运行,请求依然在短时间内断开了
然后我搜索了HttpWebResponse timeout not work
,才发现原来我认为的超时和实际上需要设置的参数是不匹配的,这里记录一下
根据HttpWebRequest's Timeout and ReadWriteTimeout — What do these mean for the underlying TCP connection?说的:
HttpWebRequest.Timeout是是尝试建立连接所花费的时间
,其中不包括DNS解析时间
HttpWebRequest.ReadWriteTimeout是是建立连接后尝试读取或写入数据所花费的时间
,需要注意的是,此超时仅在服务器接受请求后才开始
在同步请求时,TCP 连接在超时时关闭
在异步请求时,这些超时设置没有作用
所以其实我应该设置的是ReadWriteTimeout
,官方资料在这里-HttpWebRequest 类
Mark Mark ~
学习技术最好的文档就是【官方文档】,没有之一。
还有学习资料【Microsoft Learn】、【CSharp Learn】、【My Note】。
如果,你认为阅读这篇博客让你有些收获,不妨点击一下右下角的【推荐】按钮。
如果,你希望更容易地发现我的新博客,不妨点击一下【关注】。