【问题标题】:Connection Pooling and Multiple Connection Strings连接池和多个连接字符串
【发布时间】:2009-11-23 15:55:18
【问题描述】:

一个 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. 如果 RedDB 连接池由于用户获得 SQL 超时而被最大化,这是否对 BlueDB 有任何影响,还是完全隔离的连接池?

【问题讨论】:

  • 大概您在连接上指定了一个合理的超时时间,这样如果存储过程确实挂起,那么连接可以关闭并返回到池中?

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


【解决方案1】:

如果连接未正确处理,您将受制于 GC。而且你永远不知道它什么时候开始(即使你调用 GC.Collect() 也不能保证给定的对象会被收集)。

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-11-10
    • 1970-01-01
    • 2023-04-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多