联系汇集误会?

时间:2012-01-28 12:56:02

标签: asp.net .net connection-pooling

来自here

enter image description here 我无法理解

他们说ado.net不包含连接池机制。

1)如果我使用datareader类使用web.config文件中的连接字符串 - 它是否会有/不会有轮询机制?

2)如果我的所有sql连接代码都使用了web.config连接字符串,那么连接池是否会启用?不是吗?

3)默认是什么?

1 个答案:

答案 0 :(得分:8)

SQL Server和Oracle SQL 提供程序实现连接池。

作为框架的ADO.NET没有这个概念 - 例如,没有ConnectionPool类。如果查看数据库类型的基类,它们没有任何连接池支持 - 例如,将DbConnectionSqlConnection进行比较。

回答你的问题:

  1. 如果提供商已实施连接池,则可以使用它。它取决于您使用的提供程序,而不是连接字符串,尽管连接池设置是通过连接字符串控制的(如果提供程序支持选项)。

  2. SQL Server和Oracle 提供程序是实现池的方法 - 它们将读取连接字符串设置,但连接池是否可用取决于提供程序(如果连接) string禁用池并且它在提供程序中可用,提供程序将禁用它。)

  3. 默认情况下使用连接池(如果可用)(这取决于提供者)。