2013-03-04 34 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