2009-07-22 3 views
14

Ich kommuniziere mit einem Webserver von .Net. Der Webserver löst einen 500 internen Serverfehler aus und schreibt eine detaillierte Fehlermeldung.WebException beim Lesen des Antwortstreams einer WebException

Ich versuche, die Fehlermeldung zu lesen, die von einer Webausnahme empfangen wird, aber eine andere Webausnahme erhalten. Warum wird die zweite WebException ausgelöst?

try 
{ 
    var webResponse = (HttpWebResponse)webRequest.GetResponse(); 
} 
catch (WebException e) 
{ 
    if (e.Status == WebExceptionStatus.ProtocolError) 
    { 
    // the next line throws a web exception 
    Console.WriteLine(new StreamReader(e.Response.GetResponseStream()).ReadToEnd()); 
    } 
} 

Antwort

12

Warum ist das überraschend? Versuchen Sie folgendes aus MSDN:

+0

Amm, weil ich eigentlich die Fehlermeldung über den Draht irgendwie gelesen lesen möchte. Die Website ist nicht nicht existent, sie antwortet mit einem Fehler, den ich auf der Clientseite protokollieren/analysieren möchte. – ripper234

+0

Wenn die Website nicht existiert, woher kommt der Fehler? Auf jeden Fall aktualisiert. –

+1

Es ist _not_ nicht existent :) – ripper234