Pregunta El estado actual de System.Net.Http vs. Microsoft.Net.Http


Estoy confundido con el empaque de HttpClient. Anteriormente se distribuyó como parte de Microsoft.Http.Net Paquete NuGet mientras System.Net.Http fue considerado legado Parece que ahora es todo lo contrario: hay un nuevo System.Net.Http paquete para todas las plataformas y Microsoft.Net.Http no se ha actualizado en un tiempo y de acuerdo con la gente en el equipo de desarrollo de Microsoft va a estar en desuso.

Preguntas entonces:

  • ¿Podemos reemplazar dependencias en Microsoft.Net.Http Paquete NuGet con (el más nuevo) System.Net.Http?
  • Si la plataforma heredada .NET 4.0 sigue usándose Microsoft.Net.Http? ¿Qué hay de las plataformas que no son de Windows (iOS, Android)? El nuevo System.Net.Http los apoya, pero recuerdo con Microsoft.Net.Http Tuve que instalarlo adicionalmente Microsoft.Bcl.Build y Microsoft.Bcl para hacer que las cosas multiplataforma funcionen 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, como SupportsPreAuthenticate, y un intento de llamar a estos métodos da como resultado errores de tiempo de ejecución (método faltante). ¿Cómo deberíamos lidiar con esto?

32
2017-08-18 10:53


origen


Respuestas:


Esto ha sido durante mucho tiempo y continúa siendo confuso. He visto esos mensajes yo mismo, pero a partir de ahora, parece System.Net.Http es la elecció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 lo suficientemente confuso para usted, el Muestra de HttpClient vinculado desde System.Net.Http usos Windows.Web.Http! Esa implementación es para aplicaciones de la Tienda Windows.

Quizás el próximo año todo esto cambie nuevamente.


7
2018-04-15 21:09