我正在使用webClient.DownloadFile()
下载文件,我可以为此设置超时,这样如果它无法访问文件就不会花这么长时间吗?
我的答案来自这里
您可以创建派生类,它将设置基WebRequest
类的超时属性:
using System; using System.Net; public class WebDownload : WebClient { ////// Time in milliseconds /// public int Timeout { get; set; } public WebDownload() : this(60000) { } public WebDownload(int timeout) { this.Timeout = timeout; } protected override WebRequest GetWebRequest(Uri address) { var request = base.GetWebRequest(address); if (request != null) { request.Timeout = this.Timeout; } return request; } }
你可以像基础WebClient类一样使用它.
试试WebClient.DownloadFileAsync()
.您可以CancelAsync()
通过计时器调用自己的超时.