我应该使用System.Net.Http Nuget软件包吗?

时间:2018-07-05 14:01:42

标签: c# .net nuget httpclient

.NET Framework 4.6.2似乎内置了System.Net.Http程序集/名称空间。还有一个我可以安装的同名Nuget软件包。

作为一般原则,Nuget软件包可以替换(例如更新)已安装框架中包含的程序集吗?

具体地说,我应该使用Nuget版本还是System.Net.Http的框架版本?

2 个答案:

答案 0 :(得分:1)

通常,您可以使用NuGet中的一个替换框架库。如果您有特定的原因,建议您这样做。例如,如果您需要错误修复,新的API或利用性能改进。

具体来说,对于System.Net.Http,这取决于您的方案。如果您每分钟要进行1000次http呼叫,请使用NuGet中的最新呼叫。如果您每小时打2个电话,并且没有遇到任何问题,请坚持使用框架版本。在这两个数字之间,取决于。

答案 1 :(得分:0)

可能不会,请尽可能使用框架内置版本:

<Reference Include="System.Net.Http" />

如果您依赖的其他内容(例如,另一个NuGet软件包)需要NuGet版本,则会自动获取该版本,并且上面的引用将使用可用的版本。

the .NET team说:

  

在大多数情况下,我们不建议人们再使用单独的System.Net.Http NuGet包。

引入了System.Net.Http NuGet软件包以提供对框架内置版本的快速跟踪/ OOB更新,尤其是性能改进。这些改进通常是在新的.NET Framework版本中进行的,而此处的想法是,开发人员可以使用NuGet包来获得新的好处,而无需重新定位到新的框架。

事实证明,由于各种原因,这是一项极其复杂的任务,特别是因为{。{1}}被.NET Framework本身的其他部分使用。集成到下游应用程序和实际生产工作负载中时,这会引起问题。展望未来,.NET团队已决定不再提供此类OOB软件包,尽管它们仍支持并更新现有的OOB软件包。

进一步阅读: