为什么使用HttpClient进行同步连接

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (74)

我正在构建一个类库来与API交互。我需要调用API并处理XML响应。我可以看到使用HttpClient进行异步连接的好处,但是我所做的是纯同步的,因此看不到HttWebRequest的任何显著好处。

提问于
用户回答回答于

using (var client = new HttpClient())
{
    var response = client.GetAsync("http://google.com").Result;

    if (response.IsSuccessStatusCode)
    {
        var responseContent = response.Content; 

        // by calling .Result you are synchronously reading the result
        string responseString = responseContent.ReadAsStringAsync().Result;

        Console.WriteLine(responseString);
    }
}

用户回答回答于

HttpWebRequest threw exceptions for status codes >= 400。为了避免这些问题,您需要立即捕获异常,并将它们映射到代码中的一些非异常响应机制中。

因此,HttpClient更可取。

扫码关注云+社区