如果非用户使用该应用程序,连接池中最后一个最小数量的sql连接是否永远有效?

如果非用户使用该应用程序,连接池中最后一个最小数量的sql连接是否永远有效?,sql,connection,pool,Sql,Connection,Pool,我已将连接池最小池大小设置为10;经过一定时间后,假设池中至少有10个sql连接。如果此后没有人使用该应用程序,sql连接将永远保持打开状态,因为设置了最小池大小 在我的应用程序中,用户通常在办公时间使用两周,然后可能几个月都不会回来。在SQL Server的情况下,每个数据库保持连接,表示: 如果连接字符串中未指定MinPoolSize或 指定为零时,池中的连接将在 不活动的时期。但是,如果指定的MinPoolSize更大 如果大于零,则连接池在AppDomain被删除之前不会被销毁 卸载,进

我已将连接池最小池大小设置为10;经过一定时间后,假设池中至少有10个sql连接。如果此后没有人使用该应用程序,sql连接将永远保持打开状态,因为设置了最小池大小


在我的应用程序中,用户通常在办公时间使用两周,然后可能几个月都不会回来。在SQL Server的情况下,每个数据库保持连接,表示:

如果连接字符串中未指定MinPoolSize或 指定为零时,池中的连接将在 不活动的时期。但是,如果指定的MinPoolSize更大 如果大于零,则连接池在AppDomain被删除之前不会被销毁 卸载,进程结束。非活动池或空池的维护 涉及最小的系统开销

因此,因为您将MinPoolSize指定为10,所以池不会被销毁

但是,如果连接处于空闲状态,它们仍然会超时,因此我希望每个连接字符串都有10个连接,所有连接都标记为无效。假设连接超时,这些操作不应给数据库带来任何负载:

连接池程序在连接完成后从池中删除连接 闲置了大约4-8分钟,或者如果池处理器检测到 与服务器的连接已断开。请注意,断开的 只有在尝试与进行通信后才能检测到连接 服务器。如果找到不再连接到的连接 服务器,它被标记为无效。删除了无效的连接 仅当连接池关闭或回收时才从连接池中删除

如果存在到已消失的服务器的连接,则 即使连接池程序 未检测到已断开的连接并将其标记为无效。这 这种情况是否是因为检查连接是否正常的开销 如果仍然有效,则会通过导致 将发生到服务器的另一个往返。当这种情况发生时,第一个 尝试使用该连接将检测到该连接已断开 断开,并引发异常