我看到帖子從https://stackoverflow.com/questions/6262547/webclient-timeout-error,它表示默認的超時時間是100秒。但我看到從How to change the timeout on a .NET WebClient object的評論說WebClient默認超時?
默認超時是100秒。雖然它似乎跑了30秒。 - - 卡特12年12月13日16:39
在我的程序超時總是約20秒,有人知道原因嗎?
我看到帖子從https://stackoverflow.com/questions/6262547/webclient-timeout-error,它表示默認的超時時間是100秒。但我看到從How to change the timeout on a .NET WebClient object的評論說WebClient默認超時?
默認超時是100秒。雖然它似乎跑了30秒。 - - 卡特12年12月13日16:39
在我的程序超時總是約20秒,有人知道原因嗎?
我把最小的情況放在一起來測試WebClient類的默認超時。
我發佈了一個簡單的網站給我的本地PC,它在收到請求後等待300秒(足以讓WebClient超時),然後返回響應。
我寫了一個簡單的程序,使用Web客戶端,使該網站的請求,並報告發生了什麼:
void Main()
{
Console.WriteLine("Starting request at " + DateTime.Now);
WebClient client = new WebClient();
try
{
string response = client.DownloadString("http://slowsite.local/");
Console.WriteLine("Response returned at " + DateTime.Now);
}
catch (Exception ex)
{
Console.WriteLine(ex.GetType() + " " + ex.Message + " at " + DateTime.Now);
}
}
Web客戶端確實超時了100秒後。該程序生成此輸出:
Starting request at 8/1/2017 9:31:11 AM
System.Net.WebException The request was aborted: The operation has timed out. at 8/1/2017 9:32:51 AM
客戶端測試程序針對.NET Framework 4.6。
嗨,Jon,測試很好,但有人遇到同樣的問題,所以我不能選擇你的答案作爲真正的答案 – MichaelMao
你能發佈最少的代碼,所以我們可以看到你的程序與我的代碼有什麼不同嗎?如果您可以發佈您獲得的異常的詳細信息以及您的程序使用的.NET版本,也可能會有所幫助。 –
給我幾天的LOL – MichaelMao
HttpWebRequest超時爲100秒,會話超時爲20分鐘。 – sansknwoledge
對不起@sansknwoledge,這沒有幫助。 – MichaelMao
是的,那是唧唧歪歪的評論,你有沒有檢出msdn https://msdn.microsoft.com/en-us/library/system.net.httpwebrequest.timeout(v=vs.110).aspx,特別是最後段, – sansknwoledge