c# - tiene - El estado actual de System.Net.Http vs. Microsoft.Net.Http
system net http ya tiene una dependencia definida para system io (1)
Esto ha sido durante mucho tiempo y continúa siendo confuso. He visto ese tipo de mensajes, pero a partir de ahora, parece que System.Net.Http es la opción correcta, al menos para .NET en la plataforma de Windows y no tiene dependencias externas.
Para .NET Core, he usado Microsoft.Net.Http aunque requiere Microsoft.BCL . A menos que tenga problemas, sugiero dejar los sistemas heredados tal como están, especialmente dado que estos espacios de nombres parecen ser objetivos en movimiento.
Si eso no es suficientemente confuso para usted, la muestra HttpClient vinculada desde System.Net.Http
usa Windows.Web.Http ! Esa implementación es para aplicaciones de la Tienda Windows.
Quizás el próximo año todo esto cambie nuevamente.
Estoy confundido con el paquete de HttpClient
. Anteriormente se distribuyó como parte del paquete Microsoft.Http.Net
NuGet, mientras que System.Net.Http
se consideró heredado. Parece que ahora es todo lo contrario: hay un nuevo paquete System.Net.Http
para todas las plataformas y Microsoft.Net.Http
no se ha actualizado desde hace tiempo y, según la gente del equipo de desarrollo de Microsoft, estará en desuso.
Preguntas entonces:
- ¿Podemos reemplazar dependencias en
Microsoft.Net.Http
paqueteMicrosoft.Net.Http
NuGet con (el más nuevo)System.Net.Http
? - ¿Debería la plataforma heredada .NET 4.0 seguir usando
Microsoft.Net.Http
? ¿Qué hay de las plataformas que no son de Windows (iOS, Android)? El nuevoSystem.Net.Http
admite, pero recuerdo que conMicrosoft.Net.Http
tuve que instalar adicionalmenteMicrosoft.Bcl.Build
yMicrosoft.Bcl
para que funcionaran las plataformas cruzadas.System.Net.Http
no depende de ellos. ¿Se pueden omitir paquetes de Bcl? -
System.Net.Http
carece de algunos métodos de extensión Http, comoSupportsPreAuthenticate
, y un intento de llamar a estos métodos da como resultado errores en el tiempo de ejecución (método que falta). ¿Cómo deberíamos lidiar con esto?