Does WebClient.DownloadFileTaskAsync() never actually timeout?
问题 In the pre-async days, people wanted to know how to set the timeout on WebClient and the answer was simply to extend the base class and override GetWebRequest() and set the timeout there. protected override WebRequest GetWebRequest(Uri address) { // NOTE: this override has no affect if the Async methods are used!!! WebRequest request = base.GetWebRequest(address); ((HttpWebRequest)request).Timeout = 20 * 60 * 1000; ((HttpWebRequest)request).ReadWriteTimeout = 20 * 60 * 1000; return request; }