.Net是否像PHP一样进行智能的连接管理


Does .Net do clever connection management like PHP?

在 ASP.NET 页面加载期间,我在页面中包含的多个控件中打开和关闭多个System.Data.SqlClient.SqlConnections。我认为创建一个连接的"池"是个好主意,并在打开连接时检查连接字符串是否与池中打开的连接匹配,然后返回该连接。我期待看到页面加载时间的差异,但我没有看到任何变化。我知道,使用 PHP 如果您尝试使用该页面请求中已使用的连接字符串打开新连接,它不会尝试打开新连接,而是返回现有的打开连接。.NET 是这样吗?

连接池是 ADO.NET 的基本功能。

阅读此 MSDN 文章或网络上提供的其他一些资源,例如此博客文章

是的,这基本上就是连接池在 ADO.NET 中的工作方式。

在连接实例上调用Open()时,它不一定会打开连接。它从池中获取与连接字符串匹配的打开连接。 Close()将连接释放回池中。