【问题标题】:Ignore failure codes from WebRequest?忽略来自 WebRequest 的失败代码?
【发布时间】:2017-05-26 05:53:54
【问题描述】:

我正在使用标准 WebRequest 代码从 C# 调用 XML Web 服务 URL:

        WebRequest request = WebRequest.Create(MethodCall);
        WebResponse response = request.GetResponse();
        Stream stream = response.GetResponseStream();
        StreamReader streamReader = new StreamReader(stream);
        string xml = streamReader.ReadToEnd();

相关服务返回 XML;如果出现错误,您通常仍会收到带有详细错误信息的 XML 返回,然而它也返回 HTTP 错误代码 400。 通过 Chrome 运行查询,我可以在开发工具中看到 XML 和错误代码,但我的 C# 代码在 GetResponse() 调用中抛出 .Net WebException,因此我永远看不到详细的错误信息。

有没有办法告诉 .Net 不要抛出异常但仍然报告错误代码,以便我可以检查返回的 XML?

【问题讨论】:

    标签: c# .net webrequest


    【解决方案1】:

    WebResponse response = request.GetResponse(); 更改为

    WebResponse response;
    try
    {
        response = request.GetResponse();
    }
    catch (WebException ex)
    {
      response = (ex.Response as WebResponse);
      if (response == null)
          throw;
    }
    

    这应该可行。

    【讨论】:

      猜你喜欢
      • 2015-02-05
      • 2018-01-19
      • 2021-03-05
      • 2021-10-28
      • 1970-01-01
      • 2018-11-14
      • 2015-04-27
      • 2012-01-15
      • 2013-01-28
      相关资源
      最近更新 更多