1,對于ASP.NET數據庫連接池可以使用一組名稱-值對以鏈接字符串的形式配置鏈接池。例如,可以配置池是否有效(默認是有效的),池的最大、最小容量,用于打開鏈接的排隊請求被阻斷的時間。下面的示例字符串配置了池的最大和最小容量。 "Server=(local); Integrated Security=SSPI; Database=Northwind; Max Pool Size=75; Min Pool Size=5" ASP.NET數據庫連接池摘要 連接池允許應用程序從連接池中獲得一個連接并使用這個連接,而不需要為每一個連接請求重新建立一個連接。一旦一個新的連接被創建并且放置在連接池中,應用程序就可以重復使用這個連接而不必實施整個數據庫連接創建過程。 當應用程序請求一個連接時,連接池為該應用程序分配一個連接而不是重新建立一個連接;當應用程序使用完連接后,該連接被歸還給連接池而不是直接釋放。 2, 連接池減少新連接需要打開的次數。池進程保持物理連接的所有權。通過為每個給定的連接配置保留一組活動連接來管理連接。只要用戶在連接上調用 Open,池進程就會檢查池中是否有可用的連接。如果某個池連接可用,會將該連接返回給調用者,而不是打開新連接。應用程序在該連接上調用 Close 時,池進程會將連接返回到活動連接池集中,而不是真正關閉連接。連接返回到池中之后,即可在下一個 Open 調用中重復使用。 只有配置相同的連接可以建立池連接。ADO.NET 同時保留多個池,每個配置一個池。連接由連接字符串以及 Windows 標識(在使用集成的安全性時)分為多個池。 池連接可以大大提高應用程序的性能和可縮放性。默認情況下,ADO.NET 中啟用連接池。除非顯式禁用,否則,連接在應用程序中打開和關閉時,池進程將對連接進行優化。還可以提供幾個連接字符串修飾符來控制連接池的行為 池的創建和分配 在初次打開連接時,將根據完全匹配算法創建連接池,該算法將池與連接中的連接字符串關聯。每個連接池與不同的連接字符串關聯。打開新連接時,如果連接字符串并非與現有池完全匹配,將創建一個新池。按進程、按應用程序域、按連接字符串以及(在使用集成的安全性時)按 Windows 標識來建立池連接。 在以下 C# 示例中創建了三個新的 SqlConnection 對象,但是管理時只需要兩個連接池。注意,根據為 Initial Catalog 分配的值,第一個和第二個連接字符串有所不同。 代碼如下: using (SqlConnection connection = new SqlConnection( "Integrated Security=SSPI;Initial Catalog=Northwind")) { connection.Open(); // Pool A is created. } using (SqlConnection connection = new SqlConnection( "Integrated Security=SSPI;Initial Catalog=pubs")) { connection.Open(); // Pool B is created because the connection strings differ.