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 ~

posted @ 2021-07-23 16:15  Lulus  阅读(482)  评论(0编辑  收藏  举报