c# - 上传时网络客户端超时

标签 c# file upload webclient

我知道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/

相关文章:

c# - 哪个更好更便宜 : class matching vs exception?

c# - 如何显示数组值在数组中的次数?

flash - 在 Node.js 上上传二进制文件

ruby - Capistrano 3.0 文件传输?

c# - 构造函数应该有多少个变量?

c# - 将 YYYYMMDDHHMMSS 的字符串值格式转换为 C# DateTime

java - 如何在 Java 中启动 PDF 文件?

linux - nginx 的 upload_progress 模块不起作用

Ruby MRI 1.8.7 - 文件写入线程安全

file - Express 和 Multer 上传问题 - req.files 始终为空