.net程序中http请求的超时配置
- 请求时的超时
//
// 摘要:
// 获取或设置 System.Net.HttpWebRequest.GetResponse() 和 System.Net.HttpWebRequest.GetRequestStream()
// 方法的超时值(以毫秒为单位)。
//
// 返回结果:
// 请求超时前等待的毫秒数。默认值为 100,000 毫秒(100 秒)。
//
// 异常:
// System.ArgumentOutOfRangeException:
// 指定的值小于零,并且不为 System.Threading.Timeout.Infinite。
HttpWebRequest.Timeout
//
// 摘要:
// 获取或设置写入或读取流时的超时(以毫秒为单位)。
//
// 返回结果:
// 在写入超时或读取超时之前的毫秒数。默认值为 300,000 毫秒(5 分钟)。
//
// 异常:
// System.InvalidOperationException:
// 已发送请求。
//
// System.ArgumentOutOfRangeException:
// 为 Set 操作指定的值小于等于零,并且不等于 System.Threading.Timeout.Infinite
HttpWebRequest.ReadWriteTimeout
- 响应读取时,读取返回流的超时设置
//
// 摘要:
// 获取或设置一个值(以毫秒为单位),该值确定流在超时前尝试读取多长时间。
//
// 返回结果:
// 一个确定流在超时前尝试读取多长时间的值(以毫秒为单位)。
//
// 异常:
// System.InvalidOperationException:
// System.IO.Stream.ReadTimeout 方法总是引发 System.InvalidOperationException。
HttpWebResponse.GetResponseStream().ReadTimeout
如果是POST请求,可能需要设置HttpWebRequest.GetRequestStream().WriteTimeout
,这个暂时未测试过,不知道HttpWebRequest.ReadWriteTimeout
参数是否因为对其失效。