Weil (einige) Datenbanken auch eine Verbindung offen halten, bis sie von der anrufenden App gesagt, es zu schließen. Wenn Sie Hunderte von Anrufen zu einer Datenbank erhalten, dann sitzt sie dort mit 100 offenen Verbindungen, die Ressourcen binden. Es ist nicht ungewöhnlich, dass in einer ausgelasteten App Tausende oder Hunderttausende von Anrufen an eine Datenbank gesendet werden. Früher oder später wird die Leistung der App durch die DB-Leistung beeinträchtigt.
Es ist wirklich nur gesunder Menschenverstand. Wenn Sie einen gültigen Grund haben, es offen zu halten, dann tun Sie es. Wenn nicht, schließen Sie es, sobald Sie damit fertig sind. Aber es ist besser, die gute Angewohnheit zu haben, die Verbindungen zu schließen, damit man sie nicht einfach offen lässt, wenn man es nicht beabsichtigt. Es ist eine gute Angewohnheit, deinen Sicherheitsgurt zu tragen oder die Kühlschranktür zu schließen, wenn du kein Essen bekommst.
erklärt dieser Artikel geht es gut (auch wenn es ein bisschen veraltet ist):
http://www.bewebmaster.com/84.php
Ein häufiges Problem bei Hosting Unternehmen ist, dass ASP-Websites tun, um die Datenbankverbindungen nach nicht schließen Sie sind geöffnet. Dies ist ein grundlegender Schritt , den Sie als Teil des obligatorischen Codes betrachten sollten. Wenn Sie nicht schließen Ihre Datenbankverbindungen, können viele Probleme wie Webseiten hängen, langsame Seitenladevorgänge und mehr auftreten.
Betrachten Sie es als durch eine Tür gehen zu Ihr Haus. Vielleicht wird die Tür von selbst schließen, aber vielleicht wird es nicht. Wenn es nicht schließt, wer weiß, was passieren wird. Wenn Sie auf dem Land leben, könnte ein Bär gehen. Wenn Sie in der Stadt leben, könnte ein Straßenräuber gehen. Okay, gut vielleicht eine Datenbank verlassen Verbindung offen zu nichts führt dass schlecht, aber es wird zu vielen unnötigen Kopfschmerzen für Sie und Ihre Hosting-Firma führen.
Ich würde vorschlagen, [SQL Server Connection Pooling (ADO.NET)] (http://msdn.microsoft.com/en-us/library/8xx3tyca.aspx) zu lesen. –