我正在尝试(以编程方式)将客户端的数据下载到本地计算机,并且他们的Web服务器非常非常慢,这导致我的WebClient对象超时。
WebClient
这是我的代码:
WebClient webClient = new WebClient(); webClient.Encoding = Encoding.UTF8; webClient.DownloadFile(downloadUrl, downloadFile);
有没有办法对此对象设置无限超时?还是如果没有人能帮我举一个替代方法的例子?
该URL在浏览器中可以正常工作-仅显示3分钟即可显示。
您可以延长超时时间:继承原始的WebClient类并重写webrequest getter来设置自己的超时时间,如以下示例所示。
在我的案例中,MyWebClient是一个私有类:
private class MyWebClient : WebClient { protected override WebRequest GetWebRequest(Uri uri) { WebRequest w = base.GetWebRequest(uri); w.Timeout = 20 * 60 * 1000; return w; } }