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 LearnCSharp LearnMy Note
如果,你认为阅读这篇博客让你有些收获,不妨点击一下右下角的推荐按钮。
如果,你希望更容易地发现我的新博客,不妨点击一下关注

原文地址:https://www.cnblogs.com/Lulus/p/15049248.html