Heim > Backend-Entwicklung > C#.Net-Tutorial > Was ist Verbindungspooling in C# und wie wird es implementiert?

Was ist Verbindungspooling in C# und wie wird es implementiert?

王林
Freigeben: 2023-09-04 12:25:09
nach vorne
1155 Leute haben es durchsucht

C# 中的连接池是什么以及如何实现?

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;
Nach dem Login kopieren

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)) {
   ...
}
Nach dem Login kopieren

Beispiel

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));
   }
}
Nach dem Login kopieren

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!

Quelle:tutorialspoint.com
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage