连接池和多个连接字符串

时间:2009-11-23 15:55:19

标签: .net asp.net ado.net connection-string connection-pooling

ASP.NET 3.5应用程序有两个连接字符串:

Data Source=RedDB;Initial Catalog=Red;User Id=myuser;Password=pas;Max Pool Size=50;Min Pool Size=1

Data Source=BlueDB;Initial Catalog=Blue; User Id=myuser;Password=pas;Max Pool Size=375;Min Pool Size=2

假设RedDB连接的存储过程由于索引错误而无限期挂起。

  1. 如果应用程序没有正确关闭RedDB连接(即使用try / finally块),那么当用户访问该站点时,池连接会以多快的速度被回收?

  2. 如果由于用户获得SQL超时而导致RedDB连接池超出,那么它是否会对BlueDB产生任何影响,还是一个完全隔离的连接池?

1 个答案:

答案 0 :(得分:2)

如果没有正确处理连接,您将受到GC的支配。并且你永远不知道它什么时候开始(即使你调用GC.Collect()也不能保证收集给定的对象。)

连接池基于连接字符串,因此您拥有的2个连接字符串将创建2个完全独立的池。