2016-05-12 2 views
2

Ich habe folgenden Code, aber seine Show Fehler Ich verwende Framework 4.5. bitte hilfe.httpClient zeigen Sie mir Fehler C# Winform

var baseAddress = new Uri("http://private-5e199-karhoofleetintegration.apiary-mock.com/"); 

using (var httpClient = new HttpClient { BaseAddress = baseAddress }) 
{ 
    httpClient.DefaultRequestHeaders.TryAddWithoutValidation("accept-charset", "utf-8"); 

    httpClient.DefaultRequestHeaders.TryAddWithoutValidation("authorization", "Basic *sample_token*"); 

    using (var content = new StringContent("{ \"vehicles\": [ {  \"vehicle_type\": \""+ vehicale_type +"\",  \"vehicle_id\": \"" +vehicle_id+"\", "\"heading\": 90  } } ]}", System.Text.Encoding.Default, "application/json")) 
    { 
     using (var response = await httpClient.PostAsync("{supplier_id}/availability?version=2", content)) 
     { 
      string responseData = await response.Content.ReadAsStringAsync(); 
     } 
    } 
} 

enter image description here

+1

Was ist der Fehler? – Izzy

+1

Haben Sie Ihre Methode als Async markiert? (Beispiel: 'public async void my_method()'). – Nasreddine

+0

erwarten Operator kann nur mit Async-Methode verwendet werden –

Antwort

1

Um die async/await Sachen verwenden Sie benötigen, um Ihre Methode mit dem async Schlüsselwort zu markieren.

Wenn Ihre Methode ein Event-Handler ist, verwenden Sie async void und wenn nicht, dann verwenden Sie async Task oder async Task<ReturnType>. (Stellen Sie sicher, dass Sie „Return“ mit den tatsächlichen Typ durch Ihre Methode zurückgegeben ersetzen)

Beispiel:

public async Task GetDataFromTheWeb() 
//  ^^^^^ add this keyword 
{ 
    var baseAddress = new Uri("http://private-5e199-karhoofleetintegration.apiary-mock.com/"); 

    using (var httpClient = new HttpClient { BaseAddress = baseAddress }) 
    { 
     httpClient.DefaultRequestHeaders.TryAddWithoutValidation("accept-charset", "utf-8"); 

     httpClient.DefaultRequestHeaders.TryAddWithoutValidation("authorization", "Basic *sample_token*"); 

     using (var content = new StringContent("{ \"vehicles\": [ {  \"vehicle_type\": \""+ vehicale_type +"\",  \"vehicle_id\": \"" +vehicle_id+"\", "\"heading\": 90  } } ]}", System.Text.Encoding.Default, "application/json")) 
     { 
      using (var response = await httpClient.PostAsync("{supplier_id}/availability?version=2", content)) 
      { 
       string responseData = await response.Content.ReadAsStringAsync(); 
      } 
     } 
    } 
} 
+0

Dank Sehr geehrte .. :) –

+0

Kein Problem. Wenn diese Antwort Ihr Problem gelöst hat, können Sie es als akzeptiert markieren. Glückliche Kodierung! – Nasreddine