ado.net 本就有串連功能,所有.net開法基本不用去考慮串連問題,怪不得.net的串連池資料網上找不到。.net串連池只要在連接字串裡配製就可以了:
以連接字串關鍵字控制Connection Pool
ConnectionString屬性是SQLConnection 對象的一個屬性,它支援一個串連串/值對,這個對是用於調整connection pool行為的。下表是ConnectionString 的值及解釋。
名稱
預設值
描述
Connection Lifetime
0
當串連返回pool時,它的時間和建立時間相比,如果它的存在時間超過了Connection Lifetime,它被釋放。這對於新加入叢集的伺服器平衡是很有用的。值0可以保證串連有最大時限。
Connection Reset
'true'
決定從pool移走時資料庫連接是否被重設。
Enlist
'true'
為true時pooler自動列出當前建立線程的操作上下文,如果操作上下文存在的話。
Max Pool Size
100
Pool中允許的最大串連數。
Min Pool Size
0
Pool中允許的最小串連數。
Pooling
'true'
為true時,串連從相應的pool中被取出,如果需要將建立或添加到相應的池中。
Connection Pool的效能記數器
SQL Server .NET Data Provider添加了一些效能記數器使使用者可以調整connection pool特性。下面是一些記數器:
記數器
描述
SqlClient: 緩衝的和非緩衝的串連數
當前的串連數
SqlClient: 當前緩衝的串連數
在池中與當前進程關聯的所有串連
SqlClient: 當前connection pool數
與當前進程串連的池數
SqlClient: 最大緩衝串連數
從進程開始以來使用的最大串連數。此記數器只有在與特定進程關聯時才有意義。_Global 執行個體總返回0
SqlClient: 總失敗串連數
失敗總數