2016-04-06 20 views
0

Meine HTTP Put-Anrufantwort wird mit dem folgenden Code gedruckt.Inhaltstyp in HTTP-Aufruf

HttpResponseMessage response = await client.PutAsync("https://restapi.surveygizmo.com/v4/survey/2692209/surveypage/3/surveyquestion?", inputMessage.Content); 

string returnString = response.ToString(); 
Console.WriteLine(returnString); 
Console.WriteLine(response.StatusCode); 

Ich möchte den Inhaltstyp Informationen zum Drucken auf der Konsole oder einem anderen Format gedruckt werden. Im Grunde möchte ich den Inhaltstyp in C# sehen. Wie mache ich das?

+0

Haben Sie für den Inhaltstyp oder Inhalt Reaktion aus? –

Antwort

1

Durch HttpContent Verwendung und den Puffer lesen.

Eine Basisklasse, die einen HTTP-Entity-Body und Content-Header darstellt.

using (HttpContent content = response.Content) 
{ 
    // ... Read the string. 
    string result = await content.ReadAsStringAsync(); 

    // ... Display the result. 
    Console.WriteLine(result); 
} 
+0

Ich habe die Antwort, die ich wollte, aber ich bekomme diese Ausnahme später Eine unbehandelte Ausnahme vom Typ 'System.AggregateException' aufgetreten in mscorlib.dll – Karen

+0

Ich hoffe, Sie verwenden 'result' Variable und nicht erneut den' content.ReadAsStringAsync() '. –

+0

Ja ich verwende die Ergebnisvariable. Das Programm läuft gut und ich bekomme die Antwort Hintern bekomme ich Ausnahme nach dem Eine unbehandelte Ausnahme vom Typ 'System.AggregateException' an dieser Stelle denke ich, RunQuestions(). Wait(); – Karen

2

Mithilfe der Content.Headers.ContentType Informationen in der Antwort gespeichert (Can't set Content-Type header on HttpResponseMessage headers?).

zum Beispiel der Console-Type zu schreiben, trösten Sie folgendes tun würde:

HttpResponseMessage response = await client.PutAsync("https://restapi.surveygizmo.com/v4/survey/2692209/surveypage/3/surveyquestion?", inputMessage.Content); 

Console.WriteLine(response.Content.Headers.ContentType);