Ben*_*min 253
我的答案来自这里
您可以创建派生类,它将设置基WebRequest类的超时属性:
using System;
using System.Net;
public class WebDownload : WebClient
{
/// <summary>
/// Time in milliseconds
/// </summary>
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;
}
}
Run Code Online (Sandbox Code Playgroud)
你可以像基础WebClient类一样使用它.
aba*_*hev 42
试试WebClient.DownloadFileAsync().您可以CancelAsync()通过计时器调用自己的超时.