我知道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 在服务器端运行,并且设置了所有超时/最大上传值。
异常信息是:
the request was aborted the request was canceled
请帮帮我。
最佳答案
另一个答案中的代码对我有用,我只将第 9 行更改为:
((HttpWebRequest)request).Timeout = System.Threading.Timeout.Infinite;
关于c# - 上传时网络客户端超时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9232738/