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连接的存储过程由于索引错误而无限期挂起。
如果应用程序没有正确关闭RedDB连接(即使用try / finally块),那么当用户访问该站点时,池连接会以多快的速度被回收?
如果由于用户获得SQL超时而导致RedDB连接池超出,那么它是否会对BlueDB产生任何影响,还是一个完全隔离的连接池?
答案 0 :(得分:2)
如果没有正确处理连接,您将受到GC的支配。并且你永远不知道它什么时候开始(即使你调用GC.Collect()也不能保证收集给定的对象。)
连接池基于连接字符串,因此您拥有的2个连接字符串将创建2个完全独立的池。