Normalerweise schreibt man Code so, um einige Daten mit einem WebRequest herunterzuladen.Wie wird eine WebResponse-Instanz ordnungsgemäß beseitigt?
using(WebResponse resp = request.GetResponse()) // WebRequest request...
using(Stream str = resp.GetResponseStream())
; // do something with the stream str
Wenn nun ein WebException geworfen wird, hat die WebException einen Verweis auf das WebResponse Objekt, das Entsorgen genannt kann oder auch nicht hat (je nachdem, wo die Ausnahme geschehen ist, oder wie die Response-Klasse implementiert) - Ich weiß es nicht.
Meine Frage ist, wie man damit umgehen soll. Soll man sehr defensiv codieren und die Antwort im WebException-Objekt ablegen (das wäre ein bisschen komisch, da WebException nicht IDisposable ist). Oder soll man das ignorieren, möglicherweise auf ein entsorgtes Objekt zugreifen oder niemals ein IDisposable-Objekt entsorgen? Das Beispiel in der MSDN-Dokumentation für WebException.Response ist völlig unzureichend.
Wäre nützlich, wenn Sie "WebException.Response" im Fragentitel erwähnt haben. – Deantwo