2008-10-07 18 views
0

在ASP.NET頁面加載過程中,我打開和關閉頁面中包含的多個控件內的多個System.Data.SqlClient.SqlConnections。我認爲這將是一個好主意,而不是創建一個「連接池」,並打開連接時檢查連接字符串是否與池中打開的連接相匹配,然後返回該連接。我期待看到頁面加載時間有所不同,但我沒有看到任何改變。我知道,如果您嘗試使用PHP打開一個已經在該頁面請求中使用的連接字符串的新連接,它將不會嘗試打開新連接,而是返回現有的打開連接。這是真的與.NET?.Net是否會像PHP一樣聰明地進行連接管理?

回答

3

連接池是ADO.NET的一個重要特性。

閱讀本MSDN article或一些其他可用資源在網絡上,類似這樣的blog post

0

是的,這是基本連接池在ADO.NET是如何工作的。

當您在Connection-instance上調用Open()時,它不一定會打開連接。它從池中獲取一個打開的連接,匹配連接字符串。 Close()將連接釋放回池中。