我从/sf/ask/17360801/看到帖子 ,它说默认超时是100秒.但我看到如何更改.NET WebClient对象的超时的评论说
默认超时为100秒.虽然它似乎运行了30秒. - 卡特12年12月13日16:39
在我的程序中,超时总是大约20秒,是否有人知道原因?
我整理了一个最小的案例来测试WebClient类的默认超时.
我向我的本地PC发布了一个简单的网站,在收到请求后,等待300秒(足够长的时间使WebClient超时),然后返回响应.
我写了一个简单的程序,它使用WebClient向该站点发出请求,并报告发生的情况:
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); } }
WebClient在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.