Al desarrollar aplicaciones de escritorio .NET 4.5 para Windows, solía usar System.Net.Http.HttpClient para todas las comunicaciones con una API web de back-end. Ahora estoy desarrollando una aplicación de la Tienda Windows y me he dado cuenta de la existencia de Windows.Web.Http.HttpClient . He buscado información sobre cuáles son las principales diferencias entre los dos clientes pero sin suerte.
Desde MSDN , sé que debería comenzar a usar Windows.Web.Http.HttpClient en mi aplicación de Windows Store, ya que System.Net.Http.HttpClient podría eliminarse de la API:
Nota Es posible que el espacio de nombres System.Net.Http y System.Net.Http.Headers no esté disponible en futuras versiones de Windows para que lo usen las aplicaciones de la Tienda Windows. A partir de Windows 8.1 y Windows Server 2012 R2, use Windows.Web.Http.HttpClient en el espacio de nombres Windows.Web.Http y los espacios de nombres Windows.Web.Http.Headers y Windows.Web.Http.Filters relacionados en lugar de las aplicaciones de Windows Runtime .
Pero aparte de esta información, me cuesta descubrir cuáles son las principales diferencias y cuál es el principal beneficio de usar Windows.Web.Http.HttpClient . ¿Qué agrega que no tengamos en System.Net.Http.HttpClient ?
Las respuestas respaldadas por documentación oficial son muy apreciadas.
Windows.Web.Http es una API WinRT disponible en todos los lenguajes de programación compatibles con WinRT: C#, VB, C++/CX y JavaScript. Esto habilita la opción de escribir el mismo código en el idioma de su elección.
System.Net.Http es una API de .NET y solo está disponible para desarrolladores de C# y VB.
IInputStream , IOutputStream e IBuffer . Evitar las extensiones .NET que convierten System.IO.Stream en IInputStream o IOutputStream y System.Array en Windows.Storage.Streams.IBuffer puede mejorar el rendimiento y ahorrar recursos en algunos casos.HttpClient ( ejemplo )HttpClientCache-Control correcto ( ejemplo )System.Net.NetworkCredential† Para Proyectos universales de Windows (UWP), System.Net.Http es un contenedor sobre Windows.Web.Http, como se describe aquí .
Lectura adicional: Desmitificación de las API de HttpClient en la plataforma universal de Windows
No hay mucho que encontrar al respecto. Algunas cosas que me vienen a la mente:
Se puede encontrar información útil en esta publicación de blog que también hace referencia a este video de compilación . Hablan de un mejor control de caché y una forma de agregar filtros para la autenticación, fácil acceso a las cookies, reconexión, etc.