如何指定全局HttpWebRequest超时?

时间:2014-09-07 13:05:52

标签: c# winforms httpwebrequest tweetinvi

我正在使用一个在内部使用HttpWebRequest的twitter库来向twitter API发出请求。由于某些奇怪的原因,请求有时需要很长时间才能完成(约10分钟)。

库未公开HttpWebRequest对象。

有没有办法为请求指定全局超时和readwritetimeout,可能是通过 app.config

2 个答案:

答案 0 :(得分:3)

不幸的是目前不可能。 HttpWebRequest的构造函数将此值硬编码为reference source

答案 1 :(得分:-1)

超时是以毫秒为单位 - 所以2000ms =仅2秒。

System.Net.HttpWebRequest req = (System.Net.HttpWebRequest)System.Net.WebRequest.Create("URL");
req.Timeout = Convert.ToInt32(ConfigurationManager.AppSettings["timeOut"]);
Req.ReadWriteTimeout = Convert.ToInt32(ConfigurationManager.AppSettings["readWriteTimeout "]);

的App.config

<appSettings>
<add key="timeOut" value="200" />
<add key="readWriteTimeout " value="10000" />
</appSettings>

超时=尝试建立连接所花费的时间(不包括查找时间)

ReadWriteTimeout =连接建立后尝试读取或写入数据所花费的时间