5个.NET HTTP库 - 微软的.Net.Http属于哪个?

4

这是Microsoft HTTP客户端库的一部分,请在此处查看 https://www.nuget.org/packages/Microsoft.Net.Http/ - Nkosi
@Nkosi,这并没有告诉我它在其他API中的位置。 - Duanne
2个回答

2

根据目前所有的反馈和文章,以下是相关的内容:

  1. HttpWebRequest - 原始HTTP API。提供低级别控制。
  2. WebClient - HttpWebRequest的抽象层。使用简单,性能略低。
  3. System.Net.Http.HttpClient - HttpWebRequest的抽象层,提供比前两个选项更多的功能。在4.0.0.0版本之前仅适用于完整的.NET,但自4.1.0版本以来支持.NET Core。
  4. Windows.Web.Http.HttpClient - 多种语言(C#,VB,C ++,JavaScript)的HTTP API的合并。主要用于开发多语言Windows Store应用程序,以便只需引用一个API。
  5. Microsoft.Net.Http - 用于替换System.Net.Http.HttpClient 2.0.2或更早版本的HTTP API。这用于支持较旧的.NET应用程序。

HttpClient并不是HttpWebRequest的替代品,它使用HttpWebRequest。它是WebClient的替代品。WebClient仅用于简单下载,更难指定标头或进行POST请求。HttpClient的创建旨在使REST调用变得容易。 - Panagiotis Kanavos
@Panagiotis Kanavos 感谢您的纠正,我已经相应地进行了更新。 - Duanne

1

System.Net.Http vs Microsoft.Net.Http:取决于版本。旧的System.Net.Http包(2.0版)是已被弃用的遗留包,推荐使用Microsoft.Http.Net。

因此,本质上3和5是相同的。它是异步http客户端,使您能够进行异步http请求,并与WebClient相比,在多线程环境下工作。


如果Windows.Web.Http.HttpClient (#4)整合了所有Windows应用程序语言(C#,VB,C ++,JavaScript)的Http API,并且#5替换了#3,则Windows.Web.Http.HttpClient也应该进行更新。 - Duanne
1
Windows.Web.Http.HttpClient 适用于 Windows 通用应用程序。 最新版本的 System.Net.Http 专为 .NET Core 设计。 旧版的 System.Net.Http(针对 FULL .NET Framework)现已弃用,您应该使用 Microsoft.Net.Http。 - Pawel Troka

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接