在ASP.NET页面加载期间,我打开和关闭页面中包含的多个控件中的多个System.Data.SqlClient.SqlConnections。我认为最好创建一个连接的“池”,并在打开连接时检查连接字符串是否与池中的打开连接的连接字符串匹配,并返回该连接。我期待看到页面加载时间的差异,但我没有看到任何变化。我知道使用PHP,如果您尝试使用已在该页面请求中使用的连接字符串打开新连接,它将不会尝试打开新连接,而是返回现有的打开连接。对于.NET来说这是真的吗?
答案 0 :(得分:3)
连接池是ADO.NET的基本功能。
阅读此MSDN article或网上提供的其他一些资源,例如blog post
答案 1 :(得分:0)
是的,这基本上就是连接池在ADO.NET中的工作原理。
当您在Connection-instance上调用Open()
时,它不一定会打开连接。它从池中获取打开的连接,与连接字符串匹配。 Close()
将连接释放回池中。