C#SQLConnection池

任何人都可以向我简要介绍如何在ADO.Net中进行连接池,我需要连接到3个独立的数据库。 其中2个在同一服务器中,另一个在另一个服务器中。

更好的代码片段..

只要您严格处理连接,默认情况下(至少对于sql-server)就是它会自动运行。 在您的示例中,您最好只有3个底层连接(每个连接字符串一个)。

始终确保您的连接处置,理想情况下using

 using(var conn = new SqlConnection(connectionString)) { // use conn } 

然后它被释放回池中(当接下来看到相同的连接字符串时重新使用),即使抛出exception也是如此。

禁用池(如果选择),请包括Pooling=false; 在连接字符串中。

不需要特别配置或设置任何东西,只是让它发生…我见过的大多数问题是由于民间没有关闭连接或太聪明

每个连接字符串创建池,因此在这种情况下您将有三个

某些提供商提供连接池。 据我所知,这包括Microsoft Access数据库(Jet)和SQL Server CE(精简版)的连接字符串。

缺少连接池会使数据库访问速度显着降低。

丢失的Jet池的解决方案是让我总是在整个程序生命周期内打开Jet数据库的单个连接(与推荐的技术相反)。 这极大地加速了我在.NET应用程序中的Jet Access数据库SQL查询,但也只适用于本地Jet数据库; 对于网络共享上的Jet数据库,我得到了关于太多打开文件句柄的相对快速的exception。

对于SQL Server CE,到目前为止我找不到解决方案。