C# 中的連線池是什麼,如何實現?
這些用於匯入名稱空間(或建立名稱空間或型別的別名)。
這些位於檔案的頂部,在任何宣告之前。
using System; using System.IO; using WinForms = global::System.Windows.Forms; using WinButton = WinForms::Button;
using 語句確保即使在建立物件並呼叫方法、屬性等時發生異常,也會呼叫 Dispose()。Dispose() 是 IDisposable 介面中存在的一個方法,有助於實現自定義垃圾回收。換句話說,如果我們正在執行一些資料庫操作(插入、更新、刪除),但不知何故發生了異常,那麼在這裡 using 語句會自動關閉連線。不需要顯式呼叫 connection Close() 方法。
另一個重要因素是它有助於連線池。.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 語句,using 語句將自動呼叫 conn.Close()
(使用 (SqlConnection conn = new SqlConnection(connString)) 以及 SqlDataReader 物件相同。並且如果發生任何異常,它將自動關閉連線。
廣告
資料結構
網路
關係資料庫管理系統
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP