I am confused with packaging of HttpClient
. Earlier it was distributed as a part of Microsoft.Http.Net
NuGet package while System.Net.Http
was considered legacy. Looks like now it's the opposite: there is a fresh System.Net.Http
package for all platforms and Microsoft.Net.Http
has not been updated in a while and according to folks at Microsoft development team is going to be deprecated.
Questions then:
Microsoft.Net.Http
NuGet package with (the newest) System.Net.Http
?Microsoft.Net.Http
? What about non-Windows platforms (iOS, Android)? The new System.Net.Http
supports them, but I remember with Microsoft.Net.Http
I had to install additionally Microsoft.Bcl.Build
and Microsoft.Bcl
in order to get cross-platform stuff to work. System.Net.Http
doesn't depend on them. Can Bcl packages be skipped?System.Net.Http
lacks some Http extension methods, like SupportsPreAuthenticate
, and an attempt to call these method results in runtime errors (missing method). How should we deal with this?The System. Net. Http namespace is designed to provide the following: HTTP client components that allow users to consume modern web services over HTTP.
NET Standard is an API specification that defines, for a given version, what Base Class Libraries must be implemented. . NET Core is a managed framework that is optimized for building console, cloud, ASP.NET Core, and UWP applications.
This has been for a long time and continues to be confusing. I have seen such messaging myself but as of right now, it appears System.Net.Http is the correct choice, at least for .NET on the Windows platform and has no external dependencies.
For .NET Core, I have used Microsoft.Net.Http although it does require Microsoft.BCL. Unless you are experiencing problems, I suggest leaving legacy systems as-is, especially since these namespaces seem to be moving targets.
If that isn't confusing enough for you, the HttpClient Sample linked from System.Net.Http
uses Windows.Web.Http! That implementation is for Windows Store apps.
Perhaps next year this will all change again.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With