Normalmente, uno escribe un código como este para descargar algunos datos usando una WebRequest.¿Cómo desechar correctamente una instancia de WebResponse?
using(WebResponse resp = request.GetResponse()) // WebRequest request...
using(Stream str = resp.GetResponseStream())
; // do something with the stream str
Ahora bien, si se lanza un WebException, la WebException tiene una referencia al objeto WebResponse, que puede o no puede haber Desechar llamada (dependiendo del lugar donde ha ocurrido la excepción, o cómo se implementa la clase de respuesta) - No lo sé.
Mi pregunta es cómo se supone que uno debe lidiar con esto. Se supone que uno debe estar codificando muy a la defensiva, y deshacerse de la respuesta en el objeto WebException (eso sería un poco extraño, ya que WebException no es IDisposable). ¿O se supone que uno debe ignorar esto, acceder potencialmente a un objeto dispuesto o no disponer nunca de un objeto IDisposable? El ejemplo dado en la documentación de MSDN para WebException.Response es totalmente inadecuado.
Sería útil si mencionó "WebException.Response" en el título de la pregunta. – Deantwo