System.Net.Http vs Microsoft.Net.Http
我正在使用ASP.NET 5和MVC 6.我想使用HttpClient,但我注意到有两个NuGet包提供。 我使用哪一个?
- System.Net.Http
- Microsoft.Net.Http
取决于版本。 旧的System.Net.Http
软件包( 2.0版本)是旧版软件包,根据以下描述,不赞成使用Microsoft.Http.Net
。
旧版软件包,System.Net.Http现在包含在“Microsoft.Net.Http”软件包中。
它们的存在是为了在以前的.NET版本和可移植类库中提供HttpClient
。 在这种情况下,你应该使用Microsoft.Net.Http
。
由于您使用的是.NET Core,因此您应该使用最新的System.Net.Http
软件包(例如4.1.0)。
如果您的project.json同时针对完整的.NET和.NET Core,则必须将System.Net.Http
程序集添加到frameworkAssemblies
元素。 例如:
"frameworks": { "net451": { "frameworkAssemblies": { "System.Net.Http": "4.0.0.0" // HttpClient for full .NET } }, "netstandard1.3": { "dependencies": { "System.Net.Http": "4.1.0", // HttpClient for .NET Core } } }
Microsoft.Net.Http
需要额外的Microsoft.Bcl
依赖项。
为此,如果您只是针对.NET Framework或.NET Core,则System.Net.Http
是很好的select。 否则, Microsoft.Net.Http
会是更好的select,因为它可能是下一代。
- 如何编译保存在Visual Studio 2015中的.less文件(预览)
- InvalidOperationException:无法parsing“Microsoft.AspNetCore.Http.IHttpContextAccessor”types的服务
- ASP.NET核心(.NET Core)和ASP.NET核心(.NET Framework)之间的区别
- IIS错误502.5上的ASP.NET Core 1.0
- 在ASP.NET Core中访问当前的HttpContext
- tsconfig.json:生成:在configuration文件中找不到任何input
- 如何在ConfigureServices中获得开发/暂存/生产托pipe环境
- 什么是Kestrel(vs IIS / Express)
- 如何从控制器返回特定的状态码和内容?