【问题标题】:Is it possible to define a type of WebException using WebClient?是否可以使用 WebClient 定义一种 WebException?
【发布时间】:2013-01-19 23:53:15
【问题描述】:

这是我之前问题的延续:Download file in chunks

现在,我有一个可以工作的应用程序,可以下载和播放大型媒体文件。但是,仍然存在一个问题。正如我所注意到的,如果下载时间超过五分钟,则连接会因为超时而关闭。这不是问题,因为应用程序可以轻松地重新打开它、发送另一个请求等

现在,这是一个问题:响应可能有几种类型的错误,但我不能将“超时过期”异常(如果我抓住这个,我使用将继续下载的方法)从其他异常,实际上是由错误引起的。它们都有 WebException 类型。我也尝试了this article 的解决方案,但是ex.Status 值为“未知错误”(!)。消息值也等于“远程服务器返回错误:NotFound。”

那么,我的问题很简单:如何定义错误是由超时引起的?

【问题讨论】:

    标签: c# windows-phone-7 exception timeout webclient


    【解决方案1】:

    可能的解决方案:

    WebException 的类型可以这样定义:

     catch (WebException ex)
                {
                  HttpWebResponse response = (HttpWebResponse)ex.Response;
    
                  if (response.StatusCode == HttpStatusCode.someCode)
                        DoSomething();
                }
    

    因此,就我而言,HttpStatusCode 将是“禁止的”(错误 403)。使用这些信息,我可以创建未来的逻辑。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-07-26
      • 1970-01-01
      • 2018-01-30
      • 1970-01-01
      • 1970-01-01
      • 2017-02-28
      • 1970-01-01
      相关资源
      最近更新 更多