asp.net - 连接池的误解?

标签 asp.net .net connection-pooling

来自 here

enter image description here 我无法理解

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

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

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

3)默认值是什么?

最佳答案

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

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

回答您的问题:

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

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

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

关于asp.net - 连接池的误解?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9045381/

相关文章:

asp.net - 通过 CSS 重置 HTML 元素的高度

c# - 如何获得影响其输出的表达式树的所有因素

c# - 如何使用 wait 或 thread 等到事件发生

c# - .NET Core 中的 MethodInfo ReflectedType

go - golang 中的 TCPListener : error when number of connections is above 60/260

java - JTA 感知 JDBC 连接池

c# - 当用户单击表头时,如何对 List<T> 进行排序?

javascript - 获取asp :Button Text into a JavaScript function

asp.net - : LINQ To SQL for data access 的最佳实践

java - 使用 Java 数据源是一种昂贵的考验吗?