通常情況下,用這樣的代碼編寫代碼來使用WebRequest下載一些數據。如何正確處置WebResponse實例?
using(WebResponse resp = request.GetResponse()) // WebRequest request...
using(Stream str = resp.GetResponseStream())
; // do something with the stream str
現在,如果引發WebException,所述引發WebException具有對WebResponse對象,其可以是或可以不是已處置稱爲(取決於異常已經發生,或響應類是如何實現的)的參考 - 我不知道。
我的問題是如何處理這個問題。是否應該在防守方面進行編碼,並將響應置於WebException對象中(這會有點奇怪,因爲WebException不是IDisposable)。還是應該忽略這一點,可能訪問一個處置對象或永遠不處理一個IDisposable對象? WebException.Response的MSDN文檔中給出的示例完全不適用。
如果您在問題標題中提到了「WebException.Response」,它會很有用。 – Deantwo 2018-02-26 08:12:12