Heim > Artikel > Backend-Entwicklung > Was ist Verbindungspooling in C# und wie wird es implementiert?
Sie werden zum Importieren von Namespaces (oder zum Erstellen von Aliasnamen für Namespaces oder Typen) verwendet.
Sie stehen ganz oben in der Datei, vor allen Erklärungen.
using System; using System.IO; using WinForms = global::System.Windows.Forms; using WinButton = WinForms::Button;
Die using-Anweisung stellt sicher, dass Dispose() auch dann aufgerufen wird, wenn beim Erstellen eines Objekts, Aufrufen einer Methode, Eigenschaft usw. eine Ausnahme auftritt. Dispose() ist eine in der IDisposable-Schnittstelle bereitgestellte Methode, die bei der Implementierung einer benutzerdefinierten Garbage Collection hilft. Mit anderen Worten: Wenn wir eine Datenbankoperation ausführen (Einfügen, Aktualisieren, Löschen) und aus irgendeinem Grund eine Ausnahme auftritt, schließt die using-Anweisung hier automatisch die Verbindung. Es ist hier nicht erforderlich, die Verbindungsmethode Close() explizit aufzurufen.
Ein weiterer wichtiger Faktor ist, dass es beim Verbindungspooling hilft. Das Verbindungspooling in .NET trägt dazu bei, dass das mehrmalige Schließen von Datenbankverbindungen vermieden wird. Es sendet das Verbindungsobjekt zur zukünftigen Verwendung (nächster Datenbankaufruf) an den Pool. Wenn das nächste Mal eine Datenbankverbindung von der Anwendung aufgerufen wird, ruft der Verbindungspool die im Pool verfügbaren Objekte ab. Daher trägt es dazu bei, die Leistung der Anwendung zu verbessern. Wenn wir also die using-Anweisung verwenden, sendet der Controller das Objekt automatisch an den Verbindungspool, ohne die Methoden Close() und Dispose() explizit aufzurufen.
using (Stream input = File.OpenRead(filename)) { ... }
string connString = "Data Source=localhost;Integrated Security=SSPI;Initial Catalog=Northwind;"; using (SqlConnection conn = new SqlConnection(connString)) { SqlCommand cmd = conn.CreateCommand(); cmd.CommandText = "SELECT CustomerId, CompanyName FROM Customers"; conn.Open(); using (SqlDataReader dr = cmd.ExecuteReader()) { while (dr.Read()) Console.WriteLine("{0}\t{1}", dr.GetString(0), dr.GetString(1)); } }
Im obigen Code schließen wir keine Verbindung, sie wird automatisch geschlossen. Seit der using-Anweisung ruft die using-Anweisung automatisch conn.Close()
(using (SqlConnection conn = new SqlConnection(connString)) auf, auch für das SqlDataReader-Objekt. Und die Verbindung wird automatisch geschlossen, wenn eine Ausnahme auftritt.
Das obige ist der detaillierte Inhalt vonWas ist Verbindungspooling in C# und wie wird es implementiert?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!