Die Lösung ist einfach: Jeder muss nur hinter sich aufräumen. Die ADO.NET-Verbindungsklasse enthält eine Close-Methode, um alle Verbindungen, die man geöffnet hat, ordnungsgemäß wieder zu schließen. Es ist hilfreich, sich die Open– und Close-Methoden als zusammengehörig vorzustellen. Hier ist eine kurze Übersicht über die Methoden, die man hinsichtlich des Aufräumens von Datenbankverbindungen in Betracht ziehen sollte:
Ein Beispiel zur Verwendung dieser Methoden ist der VB.NET-Code in Listing A unten. Listing B enthält den entsprechenden C#-Code. Man kann den Code als Overkill betrachten, aber alle Objekte in Verbindung mit der Datenbank werden geschlossen, gelöscht und wieder freigegeben, so dass für die automatische Garbage Collection bei dieser Vorgehensweise nichts übrig bleibt.
Listing A – VB.NET
Listing B – C#.NET
Eine verbreitete Lösung für das Problem offener Verbindungen besteht darin, nur ein einziges Verbindungsobjekt zu verwenden, das von jeder Methode, Klasse oder Subroutine, die die Datenbankoperationen erfordert, geöffnet und geschlossen wird. Die Objekte existieren häufig in einer Singleton-Datenbankzugriffsklasse, welche die Verbindungen zentral verwaltet.
Die Dateien nicht vergessen
Das Problem, dass Verbindungen nicht ordentlich geschlossen werden, ist nicht auf Datenbankzugriffe beschränkt. Es besteht auch, wenn mit Dateien oder irgendeiner Art von Stream-Objekten gearbeitet wird. Ein gutes Beispiel dafür ist das Schreiben von Daten in eine Textdatei. Der C#-Schnipsel in Listing C erzeugt eine Textdatei und fügt etwas Text ein.
Listing C – VB.NET
Wichtig ist, daran zu denken, die Datei zu schließen, sobald das Einfügen von Daten abgeschlossen ist. Selbst wenn es nicht extra erwähnt werden muss, das Problem schleicht sich auch in Produktionsapplikationen ein. Den entsprechenden VB.NET-Code zeigt Listing D.
Listing D – C#.NET
Darauf achten, was man tut
Die Tage von Speicherlecks und den damit verbundenen Problemen mit Microsoft-Technologien mögen schon lange vorbei sein, aber die .NET-Plattform ist nicht immun gegen Probleme. Ein verbreitetes Problem ist der Verbrauch von System- und Datenbankressourcen, weil Entwickler vergessen aufzuräumen, nachdem sie mit einer Datenbank gearbeitet haben. Entwickler können solche Probleme vermeiden, indem sie Objekte nach ihrer Nutzung wieder freigeben. Und die ADO.NET-Objekte enthalten Close– und Dispose-Methoden, um einem die Sache leichter zu machen.
Page: 1 2
Beim Online-Gaming kommt es nicht nur auf das eigene Können an. Auch die technischen Voraussetzungen…
Fast jedes zweite Unternehmen bietet keinerlei Schulungen an. In den übrigen Betrieben profitieren oft nur…
Huawei stellt auf der Connect Europe 2024 in Paris mit Xinghe Intelligent Network eine erweiterte…
Höchste Zeit für eine schnelle Kupfer-Glas-Migration. Bis 2030 soll in Deutschland Glasfaser flächendeckend ausgerollt sein.
Schon im April 2025 soll Android 16 den Status Plattformstabilität erreichen. Entwicklern gibt Google danach…
Die Hintermänner setzen KI-Chatbot-Tools als Köder ein. Opfer fangen sich den Infostealer JarkaStealer ein.