Ich versuche, alle 10 Sekunden sequenzielle Anfragen an eine Web-API-URL zu senden, um Änderungen in den zurückgegebenen Daten zu protokollieren. Das Code-Snippet sieht wie folgt aus:Inhalt von HttpWebResponse während des Debuggens abrufen
using (Stream objStream = response.GetResponseStream())
{
query result = (query)serializer.Deserialize(objStream);
Console.WriteLine(result.results.quote.Name + " " + result.results.quote.Ask);
objStream.Flush();
objStream.Close();
}
Hie und da eine InvalidOperationException ausgelöst wird, wenn die deserialiation mit der Meldung ausgeführt wird sagen, dass das XML-Dokument ist schlecht formatiert. Um das Problem zu isolieren, versuche ich den "rohen" Response-Inhalt im Debug-Modus zu finden, indem ich die Autos/Locals/Watch-Ansicht benutze, aber ich kann sie wirklich nicht finden.
Ich kann die Antwort-Header und eine Menge anderer Informationen finden und soweit ich das in Ordnung aussieht, mit einer Ausnahme sehen; die Inhaltslänge, die -1 zeigt. Ich bin mir nicht sicher, ob das etwas ist, worüber ich mich wirklich kümmern sollte, aber da ich die Antwort "Körper" nicht finden kann, kann ich nichts dagegen haben, misstrauisch zu sein.
Also meine eigentliche Frage hier ist: wie kann ich den "Körper" innerhalb eines HttpWebResponse
oder Stream
Objekts finden?
Und die Seite Frage: Ist der Inhalt Länge mit dem Wert -1 etwas belästigt werden.
Könnten Sie Ihren XML-String schreiben? –
Hallo, ich meine poc gegen diese YQL URL ausführen: https://query.yahooapis.com/v1/public/yql?q=select%20Name%2C%20Ask%20from%20yahoo.finance.quotes%20where%20symbol% 20in% 20 (% 22MSFT% 22) & diagnostics = true & env = speichern% 3A% 2F% 2Fdatatables.org% 2Falltableswithkeys Dies ist das erwartete Format und der Inhalt der Antwort, aber wie die tatsächliche Antwort aussieht, wenn die Ausnahme auftritt, ist unbekannt das möchte ich im Debug-Modus herausfinden können. – Anders
Der Antwortstream ist für die Ausgabe, warum verwenden Sie ihn für die Eingabe? – Jonny