C# 5.NET HTTP库-Microsoft.NET.HTTP适用于何处?

C# 5.NET HTTP库-Microsoft.NET.HTTP适用于何处?,c#,asp.net,.net,wcf,asp.net-web-api,C#,Asp.net,.net,Wcf,Asp.net Web Api,我知道以下HTTP库: HttpWebRequest 网络客户 System.Net.Http.HttpClient Windows.Web.Http.HttpClient Microsoft.Net.Http 前3个位置非常简单: 第四个也没有那么复杂: 但是微软.Net.Http在哪里合适呢 :取决于版本。旧的System.Net.Http包(2.0版)是旧的包,不推荐使用Microsoft.Http.Net 所以本质上3和5是一样的。它是一个异步http客户端,使您能够发出异步http请求

我知道以下HTTP库:

  • HttpWebRequest
  • 网络客户
  • System.Net.Http.HttpClient
  • Windows.Web.Http.HttpClient
  • Microsoft.Net.Http
  • 前3个位置非常简单:

    第四个也没有那么复杂:

    但是微软.Net.Http在哪里合适呢

    :取决于版本。旧的System.Net.Http包(2.0版)是旧的包,不推荐使用Microsoft.Http.Net


    所以本质上3和5是一样的。它是一个异步http客户端,使您能够发出异步http请求,与WebClient相比,它在多线程环境中确实可以工作。

    因此,根据迄今为止引用的所有反馈和文章:

  • HttpWebRequest-原始HTTP API。提供低级控制
  • WebClient-HttpWebRequest上的抽象层。使用更简单,性能稍慢
  • System.Net.Http.HttpClient——HttpWebRequest上的抽象层,提供了比前两个选项更多的功能。直到版本4.0.0.0,它只适用于完整的.NET,因为版本4.1.0支持.NET核心
  • > Windows > .http.httpCudio——多语言的HTTP API的合并(C++,VB,C++,JavaScript)。主要用于开发的多语言Windows应用商店应用程序,因此只需引用一个API
  • Microsoft.Net.Http-替代System.Net.Http.HttpClient 2.0.2或更早版本的Http API。这用于支持较旧的.NET应用程序

  • 微软HTTP客户端库的一部分有一个“NKOSI”的外观,它没有真正告诉我它与其他API的匹配之处。如果Windows.Web.Http.HttpClient(4)将所有的HTTP API都整合到Windows应用程序语言(Cype,Vb,C++,JavaScript),和5代替了3,然后还应更新Windows.Web.Http.HttpClient。Windows.Web.Http.HttpClient适用于Windows通用应用程序。最新版本的System.Net.Http专用于.Net Core。System.Net.Http(用于完整的.Net Framework)的旧版本现在已被删除,您应该使用Microsoft.Net.Http.HttpClient不是HttpWebRequest的替代品,它使用HttpWebRequest。它是WebClient的替代品。WebClient仅用于下载。更难指定标题或发出POST请求。创建HttpClient是为了进行REST调用easy@PanagiotisKanavos感谢您的更正,我已相应更新。