我正在使用一个HttpWebRequest
内部使用的 twitter 库来向 twitter API 发出请求。出于某种奇怪的原因,请求有时需要很长时间才能完成(约 10 分钟)。
HttpWebRequest
库不公开该对象。
有没有办法为请求指定全局超时和 readwritetimeout,也许是通过app.config?
我正在使用一个HttpWebRequest
内部使用的 twitter 库来向 twitter API 发出请求。出于某种奇怪的原因,请求有时需要很长时间才能完成(约 10 分钟)。
HttpWebRequest
库不公开该对象。
有没有办法为请求指定全局超时和 readwritetimeout,也许是通过app.config?
不幸的是,目前不可能。的构造函数HttpWebRequest
具有此值硬编码-参考源。
该超时以毫秒为单位 - 所以 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 = 建立连接后尝试读取或写入数据所花费的时间