Meine Methode, die SQL Server aufruft gibt eine DataReader
zurück, aber wegen dem, was ich tun muss - die DataReader
an die aufrufende Methode zurückgibt, die in einem Seitencode-behind liegt - kann ich die Verbindung in der Klasse der nicht schließen Methode, die SQL Server aufruft. Aus diesem Grund habe ich keine oder blockweise.Soll ich IDisposable hier implementieren?
Ist die richtige Art der Ressourcen zu entsorgen, um die Klasse zu implementieren IDisposable
? Alternativ sollte ich die nicht verwaltete Ressource (Felder auf Klassenebene) vom Aufrufer explizit disponieren?
EDIT: Ich sende das Datareader zurück, weil ich bestimmte Daten aus dem Datareader zu einer listitem Kontrolle binden muß, so in der anrufende Klasse (Codebehind-Seite), das tue ich:
new ListItem(datareader["dc"]); (along those lines).
Warum wollen Sie das Datenlesegerät auf der Seite senden? – Perpetualcoder
Die direkte Rückgabe des DataReader kann eine schlechte Übung sein, aber in manchen Fällen kann es für ihn nützlich sein. – Venemo
@Venemo - Ich denke, dass http://stackoverflow.com/questions/2867661/should-i-implement-idisposable-here/2869503#2869503 ihm besser dienen könnte. – dss539