C# 网络客户端强制超时
我试图将超时时间强制为5000毫秒,但它不起作用。5000毫秒后下载不会停止或退出 它可以通过任务超时来完成,但我不想在这里使用任务C# 网络客户端强制超时,c#,.net,windows,winforms,webclient,C#,.net,Windows,Winforms,Webclient,我试图将超时时间强制为5000毫秒,但它不起作用。5000毫秒后下载不会停止或退出 它可以通过任务超时来完成,但我不想在这里使用任务 有其他方法吗???你能提供更多信息吗?你想从哪里下载,你确定它不起作用吗 我已经试过你的代码,它似乎工作得很好;我收到一个System.Net.WebException“操作超时”-您肯定没有接受此异常?您可以将请求放在一个新线程上,然后观察该线程,如果您达到指定的超时,则杀死该线程,从而中止请求 public class MyWebClient : We
有其他方法吗???你能提供更多信息吗?你想从哪里下载,你确定它不起作用吗
我已经试过你的代码,它似乎工作得很好;我收到一个System.Net.WebException“操作超时”-您肯定没有接受此异常?您可以将请求放在一个新线程上,然后观察该线程,如果您达到指定的超时,则杀死该线程,从而中止请求
public class MyWebClient : WebClient {
private int timeout;
public int Timeout
{
get
{
return timeout;
}
set
{
timeout = value;
}
}
public MyWebClient()
{
this.timeout = 5000;
}
public MyWebClient(int timeout)
{
this.timeout = timeout;
}
protected override WebRequest GetWebRequest(Uri address)
{
var result = base.GetWebRequest(address);
result.Timeout = this.timeout;
return result;
}
}