我知道WebClient没有超时属性。我四处搜索并找到了不同的代码,你可以从httpwebrequest继承webclient并设置超时例如:
class MyWebClient : WebClient
{
protected override WebRequest GetWebRequest(Uri address)
{
WebRequest request = base.GetWebRequest(address);
if (request is HttpWebRequest)
{
(request as HttpWebRequest).KeepAlive = false;
(request as HttpWebRequest).Timeout = 25000; //(tried different values)
}
return request;
}
}
但这似乎没有任何作用。超时发生在100秒之后。我试图通过我做的客户端应用程序上传大文件。 PHP在服务器端运行,并设置所有超时/ maxupload值。
异常消息是:
the request was aborted the request was canceled
请帮帮我。
答案 0 :(得分:3)
另一个答案中的代码对我有用,我只将第9行更改为:
((HttpWebRequest)request).Timeout = System.Threading.Timeout.Infinite;
答案 1 :(得分:0)