我不明白常规连接和连接池之间的语法差异是什么。
当我使用using
键时,例如:
using (SqlConnection connection = new SqlConnection(connectionString))
{
connection.Open();
command.ExecuteNonQuery();
}
这是执行连接池的方式吗?
发布于 2011-03-09 18:07:13
您可以阅读有关连接池here的内容。
基本上,只要连接字符串相同(包括大小写),就会从相同的连接池获取连接。
发布于 2011-03-09 18:18:32
连接池的管理是通过使用SqlConnection抽象出来的,就像上面提到的那样。默认情况下,在ADO.NET中,连接池是打开的,您可以进一步控制它,例如关闭它或在连接字符串中控制池大小。
关上
Provider=SQLOLEDB;Data Source=localhost;Integrated Security=SSPI;Pooling=false;
或者控制最小和最大值
Provider=SQLOLEDB;Data Source=localhost;Integrated Security=SSPI;Min Pool Size=5; Max Pool Size=20;
更多详细说明和验证池http://www.codeproject.com/KB/dotnet/ADONET_ConnectionPooling.aspx的方法
发布于 2011-03-09 18:09:06
就我所知道,
连接池由ado.net客户端管理,因为建立到数据库的连接是昂贵的操作。ado.net建立了一个连接池,当你需要一个连接时,它会尝试从连接池中提供连接。即使您告诉客户端代码关闭连接,ado.net也会保留该连接以供以后使用。你不能管理池化
连接池在应用程序的web.config文件中被告知。当您使用using语句时,您会告诉该对象应该在使用结束时被释放。
https://stackoverflow.com/questions/5244126
复制相似问题