Dot-Net
SqlConnection 的 Dispose 方法會干擾連接池嗎?
據我了解,.Net 將
SqlConnection預設連接字元串相同的對像池化。如果我呼叫 Dispose 方法,連接是否仍會被池化?
PageLoad這個問題是在 ASP.NET 應用程序的上下文中提出的,該應用程序有時會在單個事件中對數據庫進行多次訪問。我希望將連接池化,但想確認數據操作完成後關閉和處理連接不會干擾 .NET 對連接池的處理。
使用連接池時,關閉 a
SqlConnection只是告訴連接池您已完成它。然後池將決定是否實際關閉連接,或者重用它。從MSDN 文件:
如果 SqlConnection 超出範圍,它不會被關閉。因此,您必須通過呼叫 Close 或 Dispose 顯式關閉連接。Close 和 Dispose 在功能上是等效的。如果連接池值 Pooling 設置為 true 或 yes,則將底層連接返回到連接池。另一方面,如果 Pooling 設置為 false 或 no,則與伺服器的底層連接將關閉。