如何指定全局的HttpWebRequest超时时间?

7
我正在使用一个Twitter库,该库在内部使用HttpWebRequest向Twitter API发出请求。出于某种奇怪的原因,有时请求需要很长时间才能完成(~10分钟)。
该库没有暴露HttpWebRequest对象。
是否有任何方法可以通过app.config指定请求的全局超时和读写超时?
2个回答

3

很遗憾,目前无法实现。 HttpWebRequest 构造函数中将此值硬编码 - 参考源代码


-1

那个超时时间是以毫秒为单位的 - 所以2000毫秒只有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>

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

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


因为web.config无法实现,所以此答案提供了一种解决方法。谢谢! - Ekus

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接