Maison > développement back-end > Tutoriel C#.Net > Qu'est-ce que le pooling de connexions en C# et comment le mettre en œuvre ?

Qu'est-ce que le pooling de connexions en C# et comment le mettre en œuvre ?

王林
Libérer: 2023-09-04 12:25:09
avant
1154 Les gens l'ont consulté

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

Ils sont utilisés pour importer des espaces de noms (ou créer des alias pour des espaces de noms ou des types).

Ils sont en tête de dossier, avant toute déclaration.

using System;
using System.IO;
using WinForms = global::System.Windows.Forms;
using WinButton = WinForms::Button;
Copier après la connexion

L'instruction using garantit que Dispose() est appelée même si une exception se produit lors de la création d'un objet, de l'appel d'une méthode, d'une propriété, etc. Dispose() est une méthode fournie dans l'interface IDisposable qui permet d'implémenter un garbage collection personnalisé. En d'autres termes, si nous effectuons une opération de base de données (insertion, mise à jour, suppression) et que, pour une raison quelconque, une exception se produit, l'instruction using ici fermera automatiquement la connexion. Il n’est pas nécessaire d’appeler explicitement la méthode de connexion Close() ici.

Un autre facteur important est que cela facilite la mise en commun des connexions. Le regroupement de connexions dans .NET permet d’éviter de fermer plusieurs fois les connexions à la base de données. Il envoie l'objet de connexion au pool pour une utilisation future (prochain appel à la base de données). La prochaine fois qu'une connexion à la base de données sera appelée depuis l'application, le pool de connexions obtiendra les objets disponibles dans le pool. Cela contribue donc à améliorer les performances de l’application. Ainsi, lorsque nous utilisons l'instruction using, le contrôleur envoie automatiquement l'objet au pool de connexions sans appeler explicitement les méthodes Close() et Dispose().

using (Stream input = File.OpenRead(filename)) {
   ...
}
Copier après la connexion

Exemple

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));
   }
}
Copier après la connexion

Dans le code ci-dessus, nous ne fermons aucune connexion, elle sera fermée automatiquement. Depuis l'instruction using, l'instruction using appellera automatiquement conn.Close()

(using (SqlConnection conn = new SqlConnection(connString)) , également pour l'objet SqlDataReader. Et la connexion sera automatiquement fermée si une exception se produit.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:tutorialspoint.com
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal