Ich habe einen Code ähnlich wie diese haben:Stream.Dispose oder stream = null?
HttpWebRequest req;
HttpWebResponse response;
Stream receiveStream = null;
StreamReader readStream = null;
try
{
req = (HttpWebRequest)WebRequest.Create("someUrl"));
req.Credentials = CredentialCache.DefaultCredentials;
req.Method = "GET";
response = (HttpWebResponse)req.GetResponse();
receiveStream = response.GetResponseStream();
readStream = new StreamReader(receiveStream, Encoding.Default);
return readStream.ReadToEnd();
}
catch
{
return "Error";
}
finally
{
readStream = null;
receiveStream = null;
response = null;
req = null;
}
Sollte dieser Code haben readStream.Dispose() und responseStream.Dispose() anstelle beide Einstellung auf null?
+1 Froh, dass Sie diese Frage stellen! Die meisten kopierten und eingefügten Google-Codes ignorieren dies. – n8wrl
Randnotiz, aber möglicherweise nicht relevant. Sie sollten keinen 'catch' all block haben. Das ist keine gute Übung. Sie möchten bestimmte Ausnahmen suchen, abfangen und behandeln. Andernfalls möchten Sie, dass sich die Ausnahme ausbreitet. Wenn du dir dessen schon bewusst bist, vergib mir. –
Danke für alle Antworten. Ich fange an zu disponieren :-) Für den Rekord schneide ich die Ausnahmebehandlung aus dem Beispiel, also ist es nicht so schlecht, wie es scheint, obwohl ich von den Kommentaren denke, dass das etwas anderes ist, das verbessert werden kann. Danke nochmal alle – Temple