DbConnection.Open是否始终打开新的数据库连接,还是可以重用其中一个连接池?

时间:2012-05-29 16:46:07

标签: c# .net sql ado.net dbconnection

我不确定在.NET中实现连接池的级别。 当我打电话

using(var connection = new SqlConnection(connectionString))
{
    connection.Open();

我肯定会打开一个新连接吗?或者我可能重用活动连接? SqlConnection中存在的连接池可能在其他DbConnection实现中不存在吗?

1 个答案:

答案 0 :(得分:9)

除非另行指定,否则连接池会自动发生。如果向下滚动到下面第一个链接中的“使用连接字符串关键字控制连接池”部分,您将看到“池化”的默认值为true。

http://msdn.microsoft.com/en-us/library/8xx3tyca.aspx

连接池在没有任何干预的情况下创建,只要连接字符串完全相同(此时大写/小写很重要。)

OleDbConnection和Connection Pooling也是如此 http://msdn.microsoft.com/en-us/library/ms254502.aspx