2017-03-21 1 views
3

ich folgenden Code geschrieben haben, eine XML-Anfrage unter Verwendung von .NET HttpWebClient Bibliothek wie folgt auszuführen:Performing XML Anfrage mit Httpclient in .NET 4.5 +

public async Task<string> DoRequest() 
     { 

      using (var httpClient = new HttpClient()) 
      { 
       string requestXML = "My xml here..."; 
       var request = new HttpRequestMessage(HttpMethod.Post, "example.com"); 
       request.Content = new StringContent(requestXML, Encoding.UTF8, "text/xml"); 
       var response = await httpClient.SendAsync(request); 
       return await response.Content.ReadAsStringAsync(); 
      } 
     } 

Und in der Hauptfunktion der Konsolenanwendung:

Klijent test= new Klijent(); 
var res = test.DoRequest(); 

Aber die res Rückgabetyp zeigt mir immer diese:

Id = 1, Status = WaitingForActivation, Method = "{null}", Result = "{Not yet computed}" 

Wie kann ich eine Führen Sie die Anfrage mit dieser Bibliothek aus? Was mache ich hier falsch ??

Antwort

2

Einfach nur auf Ergebnis warten

var res = test.DoRequest().Result; 

Sie erwarten sofortiges Ergebnis, auch wenn Sie Code asynchron ist.

+0

Ah das ist es ... Ty so viel :) :) – User987

+1

Oder verwenden Sie 'res = erwarten test.DoRequest();'. Sie benötigen '.Result' nur in Methoden, in denen Sie' async' nicht verwenden können, wie die Main-Methode einer Konsolenanwendung –