2012-07-23 16 views
8

im in. Net 4.0 und versuchen, den HttpClient zu verwenden. Ich habe einige Artikel gelesen, die besagen, dass es in 4.0 nicht mehr unterstützt wird, aber Sie es immer noch verwenden können? Ich habe die System.Net.Http; Versammlung eingeschlossen, aber es erlaubt mir nicht, die notwendigen Parameter zur HttpClient zur Verfügung zu stellen. Irgendeine Idee, wie ich das beheben könnte?. Net 4.0 HttpClient Nutzung?

Ich habe geschrieben, wo die Fehler auftreten.

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); 

Antwort

15

Wie pro MSDN Httpclient ist 4.5 nur in .NET Framework unterstützt. Trotzdem gibt es eine Implementierung von HttpClient für .NET 4.0. Sie können es hier herunterladen:

HttpClient for .NET 4.0

MSDN: HttpClient

Dennoch gibt es einige Unterschiede in Implementierungen. Zum Beispiel gibt es in der Version für .NET 4.0 keinen Konstruktor w/2 Parameter. Bitte beachten Sie den Quellcode für weitere Informationen:

HttpClient for .NET 4.0 source code

In Bezug auf Ihr Beispiel:

  • Es gibt keinen Konstruktor w/2 params in impl. für .NET 4.0
  • Es gibt keine Get-Methode w/2 params in impl. für .NET 4.0
  • Es gibt keine TransportSettings-Eigenschaft in impl. für .NET 4.0
+0

Vielen Dank Raman, das ist, was ich vermutete. Ich nahm die dll mit nugget – LinksTune