2012-07-23 19 views
8

estoy en .Net 4.0 e intento de utilizar el HttpClient. Leí algunos artículos que decían que ya no era compatible con 4.0, pero que aún podías usarlo? He incluido el ensamblaje System.Net.Http;, pero no me permite proporcionar los parámetros necesarios para el HttpClient. ¿Alguna idea de cómo podría arreglar esto?.Net 4.0 HttpClient uso?

He marcado en negrita donde se producen los errores.

using (HttpClient http = new **HttpClient("{0}/v1/dm/labels/{1}.xml", MI_API_URL**)) 
     { 
      http.**TransportSettings**.Credentials = new NetworkCredential(apiusername, apipassword); 

      List<KeyValuePair<string, string>> parms = new List<KeyValuePair<string, string>>(); 
      parms.Add(new KeyValuePair<string, string>("Status", "Wiped")); 

      HttpResponseMessage response = http.**Get**(new Uri("devices.xml", UriKind.Relative), parms); 
      response.EnsureStatusIsSuccessful(); 
      responseoutput = response.Content.ReadAsString(); 
      xdoc.LoadXml(responseoutput); 

Respuesta

15

Según MSDN HttpClient solo es compatible con .NET Framework 4.5. Sin embargo, hay una implementación de HttpClient para .NET 4.0. Puede descargarlo aquí:

HttpClient for .NET 4.0

MSDN: HttpClient

Todavía hay algunas diferencias en las implementaciones. Por ejemplo, en la versión para .NET 4.0 no hay constructor con 2 parámetros. Por favor, ver el código fuente para más información:

HttpClient for .NET 4.0 source code

En cuanto a su ejemplo:

  • No hay ningún constructor w/2 params en impl. para .NET 4.0
  • No hay método Get w/2 params en impl. para .NET 4.0
  • No hay propiedad TransportSettings en impl. para .NET 4.0
+0

Gracias Raman, esto es lo que sospechaba. Agarré el dll usando Nuget – LinksTune