2013-03-04 36 views
1

对于异步调用HttpWebRequest的请求方法,例如BeginGetResponseTimeout属性不被注意。在我的机器上,在大约20秒钟内,对于使用此方法完成的HTTP调用似乎仍有默认超时。这是从哪里来的?这个超时配置在什么级别以及哪里/如果我可以改变它?在.NET中完成异步HttpWebRequests时,超时来自何处?

在我的实验中,我将地址www.stackoverflow.com:9999配置为代理服务器以诱发超时。

回答

1

与往常一样,检查文档http://msdn.microsoft.com/en-us/library/system.net.httpwebrequest.timeout.aspx

超时属性对与BeginGetResponseBeginGetRequestStream方法制成的异步请求没有影响。

编辑http://msdn.microsoft.com/en-us/library/system.net.httpwebrequest.begingetresponse.aspx有信息的重要棋子:

该成员将输出跟踪信息,当您启用了网络应用程序跟踪。有关更多信息,请参阅网络跟踪。

也许你可以尝试一下,弄清楚发生了什么。此外,HttpRequest中没有与20secs值相关的设置,所以它可能是OS /驱动程序/ DNS特定的。

+1

呃......我在问题中说过。我的问题是*然后它来自哪里 - 因为我的电话明显超时。 machine.config设置?较低级别的驱动程序设置? – Nilzor 2013-03-04 20:27:01