Ich verwende die HttpResponseMessage-Klasse als Antwort von einem AJAX-Aufruf, der JSON-Daten von einem Dienst zurückgibt. Wenn ich die Ausführung pausiere, nachdem der AJAX-Aufruf vom Dienst zurückkommt, sehe ich, dass diese Klasse eine Content-Eigenschaft vom Typ System.Net.Http.StreamContent enthält.
Wenn ich im Browser nachschaue, sehe ich, dass der Netzwerkanruf erfolgreich ausgeführt wird und die JSON-Daten als Antwort angezeigt werden. Ich frage mich nur, warum ich den zurückgegebenen JSON-Text nicht in Visual Studio sehen kann? Ich suchte in diesem System.Net.Http.StreamContent-Objekt und sehe keine Daten.
%Vor% Die textuelle Darstellung der Antwort ist in der Content
Eigenschaft der Klasse HttpResponseMessage
. Insbesondere erhalten Sie die Antwort wie folgt:
response.Content.ReadAsStringAsync();
Wie alle modernen Async Methoden gibt ReadAsStringAsync
eine Task
zurück. Um das Ergebnis direkt zu erhalten, verwenden Sie die Eigenschaft Result
der Aufgabe:
response.Content.ReadAsStringAsync().Result;
Beachten Sie, dass Result
blockiert. Sie können auch await
ReadAsStringAsync()
.
Sie können ReadAsStringAsync
für Content
verwenden.
Beachten Sie, dass Sie normalerweise await
- nicht .Result
verwenden sollten.
Sie können die ReadAsStringAsync () -Methode
verwenden %Vor%Wir müssen warten, da wir ReadAsStringAsync () verwenden, die die Aufgabe zurückgeben.
Tags und Links asp.net-web-api c# json