ホームページ  >  記事  >  バックエンド開発  >  C# の接続プーリングとは何ですか?また、それを実装する方法は何ですか?

C# の接続プーリングとは何ですか?また、それを実装する方法は何ですか?

王林
王林転載
2023-09-04 12:25:091098ブラウズ

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

これらは、名前空間をインポートする (または名前空間または型のエイリアスを作成する) ために使用されます。

これらは、ファイルの先頭、宣言の前に配置されます。

using System;
using System.IO;
using WinForms = global::System.Windows.Forms;
using WinButton = WinForms::Button;

using ステートメントにより、オブジェクトの作成中、メソッドやプロパティの呼び出し中に例外が発生した場合でも、Dispose() が確実に呼び出されます。 Dispose() は、カスタム ガベージ コレクションの実装に役立つ IDisposable インターフェイスで提供されるメソッドです。つまり、データベース操作 (挿入、更新、削除) を実行中に何らかの理由で例外が発生した場合、ここでの using ステートメントは自動的に接続を閉じます。ここで接続 Close() メソッドを明示的に呼び出す必要はありません。

もう 1 つの重要な要素は、接続プーリングに役立つことです。 .NET の接続プーリングにより、データベース接続を何度も閉じる必要がなくなります。今後の使用 (次のデータベース呼び出し) に備えて、接続オブジェクトをプールに送信します。次回データベース接続がアプリケーションから呼び出されるとき、接続プールはプール内で使用可能なオブジェクトを取得します。したがって、アプリケーションのパフォーマンスの向上に役立ちます。したがって、using ステートメントを使用すると、コントローラーは Close() メソッドと Dispose() メソッドを明示的に呼び出すことなく、オブジェクトを接続プールに自動的に送信します。

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));
   }
}

上記のコードでは接続を閉じていません。接続は自動的に閉じられます。 using ステートメントは、SqlDataReader オブジェクトに対しても conn.Close()

(using (SqlConnection conn = new SqlConnection(connString))) を自動的に呼び出します。また、接続があれば自動的に閉じられます。例外が発生します。

以上がC# の接続プーリングとは何ですか?また、それを実装する方法は何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はtutorialspoint.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。