HttpWebResponse: Schließen des Streams
Ich erhalte die Antwort von einemHttpWebRequest (unter Verwendung einer modifizierten VersionJeff Richters CCR-Wrapper), und überprüfen Sie dann einige der Header, um zu entscheiden, ob der Download fortgesetzt werden soll oder nicht. Manchmal möchte ich vielleicht nicht weitermachen, also stelle ich konsequent ausAntwort.Schließen undAnfrage.Abbruch. Ist es notwendig, auszustellenGetResponseStream dann, um den Stream zu schließen, oder ist dies implizit, wenn man anruftAntwort.Schließen?
Nach der Ausgabe von GetResponse wird dasdocs state:
Sie müssen die Close-Methode aufrufen, um den Stream zu schließen und die Verbindung zu trennen. Andernfalls werden möglicherweise keine Verbindungen mehr zu Ihrer Anwendung hergestellt.
Bedeutet dies also, dass es obligatorisch ist, den Stream abzurufen und zu schließen, sobald wir eine Antwort erhalten haben?
Wir sehen einige ziemlich seltsame Probleme, bei denen hängengebliebene Downloads schließlich das System überfluten. Dies scheint der stärkste Kandidat für ein Ressourcenleck zu sein, aber fragen Sie sich, ob noch jemand Erfahrung mit diesem Problem hat.
Nebenbei bemerkt: Ist es ungefährlich, GetResponseStream zweimal abzurufen, vorausgesetzt, es handelt sich um denselben Stream?