7

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

HttpWebRequest库不公开该对象。

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

4

2 回答 2

3

不幸的是,目前不可能。的构造函数HttpWebRequest具有此值硬编码-参考源

于 2015-12-02T13:49:59.873 回答
-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 "]);

应用程序配置

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

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

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

于 2014-09-08T07:28:27.460 回答