为了账号安全,请及时绑定邮箱和手机立即绑定

如何更改.NET WebClient对象的超时

如何更改.NET WebClient对象的超时

森林海 2019-07-26 16:34:15
如何更改.NET WebClient对象的超时我试图将客户端的数据下载到我的本地机器(以编程方式),并且他们的网络服务器非常非常慢,导致我的WebClient对象超时。这是我的代码:WebClient webClient = new WebClient();webClient.Encoding = Encoding.UTF8;webClient.DownloadFile(downloadUrl, downloadFile);有没有办法在这个对象上设置无限超时?或者,如果没有,任何人都可以用另一种方式帮助我做一个例子吗?该URL在浏览器中正常工作 - 只需3分钟即可显示。
查看完整描述

3 回答

?
海绵宝宝撒

TA贡献1809条经验 获得超8个赞

您可以延长超时:继承原始WebClient类并覆盖webrequest getter以设置自己的超时,如下例所示。

在我的案例中,MyWebClient是一个私有类:

private class MyWebClient : WebClient{
    protected override WebRequest GetWebRequest(Uri uri)
    {
        WebRequest w = base.GetWebRequest(uri);
        w.Timeout = 20 * 60 * 1000;
        return w;
    }}


查看完整回答
反对 回复 2019-07-26
?
万千封印

TA贡献1891条经验 获得超3个赞

您需要使用HttpWebRequest而不是WebClientWebClient不扩展超时的情况下设置超时(即使它使用了HttpWebRequest)。使用HttpWebRequest替代将允许您设置超时。


查看完整回答
反对 回复 2019-07-26
  • 3 回答
  • 0 关注
  • 1292 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信