来自here
我无法理解
他们说ado.net不包含连接池机制。
1)如果我使用datareader
类使用web.config
文件中的连接字符串 - 它是否会有/不会有轮询机制?
2)如果我的所有sql连接代码都使用了web.config连接字符串,那么连接池是否会启用?不是吗?
3)默认是什么?
答案 0 :(得分:8)
SQL Server和Oracle SQL 提供程序实现连接池。
作为框架的ADO.NET没有这个概念 - 例如,没有ConnectionPool
类。如果查看数据库类型的基类,它们没有任何连接池支持 - 例如,将DbConnection
与SqlConnection
进行比较。
回答你的问题:
如果提供商已实施连接池,则可以使用它。它取决于您使用的提供程序,而不是连接字符串,尽管连接池设置是通过连接字符串控制的(如果提供程序支持选项)。
SQL Server和Oracle 提供程序是实现池的方法 - 它们将读取连接字符串设置,但连接池是否可用取决于提供程序(如果连接) string禁用池并且它在提供程序中可用,提供程序将禁用它。)
默认情况下使用连接池(如果可用)(这取决于提供者)。