繁体   English   中英

System.Net.Http与Microsoft.Net.Http的当前状态

[英]The current status of System.Net.Http vs. Microsoft.Net.Http

我对HttpClient包装感到困惑。 之前它是作为Microsoft.Http.Net NuGet包的一部分发布的,而System.Net.Http被认为是遗留的。 看起来现在恰恰相反:所有平台都有一个全新的System.Net.Http软件包,并且Microsoft.Net.Http暂时没有更新,根据微软开发团队的人员将被弃用。

那么问题:

  • 我们可以用(最新的) System.Net.Http替换Microsoft.Net.Http NuGet包的依赖项吗?
  • 遗留的.NET 4.0平台是否仍然使用Microsoft.Net.Http 那么非Windows平台(iOS,Android)呢? 新的System.Net.Http支持它们,但我记得使用Microsoft.Net.Http我必须另外安装Microsoft.Bcl.BuildMicrosoft.Bcl才能获得跨平台的工作。 System.Net.Http不依赖于它们。 可以跳过Bcl包吗?
  • System.Net.Http缺少一些Http扩展方法,如SupportsPreAuthenticate ,并且尝试调用这些方法会导致运行时错误(缺少方法)。 我们该如何应对?

这已经很长时间了并且仍然令人困惑。 我自己看过这样的消息,但截至目前,看起来System.Net.Http是正确的选择,至少对于Windows平台上的.NET而言没有外部依赖性。

对于.NET Core,我使用过Microsoft.Net.Http,尽管它确实需要Microsoft.BCL 除非您遇到问题,否则我建议保留旧系统,特别是因为这些命名空间似乎是移动目标。

如果这对您来说不够混乱,从System.Net.Http链接的HttpClient示例使用Windows.Web.Http 该实现适用于Windows应用商店应用。

也许明年这一切都会再次改变。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM