如果进程/连接关闭后如何从dotnet(C#)清除连接池? 我正在使用sybase aseconnection,即使从ado.net关闭连接后,我也可以在池中看到一些打开的连接。有没有办法从dotnet代码中清除它们。任何人都可以帮助我。
我正在使用sybase版本(" Adaptive Server Enterprise / 15.5 / EBF 19397 SMP ESD#5 / P / ia64 / HP-UX B.11.23 / asear155 / 2568/64-bit / FBO / Fri&#34 )。
答案 0 :(得分:9)
根据Sybase页面上的API文档,您可以通过在连接字符串中设置Connection Lifetime属性来控制池中连接的生命周期。它默认为0,这意味着无限期。
连接生命周期
连接可以保持打开的时间(以秒为单位)。当一个客户 关闭已达到或超过定义的连接 连接生命周期,在驱动程序关闭连接之前 将其返回到连接池。空闲连接已关闭 一旦到达定义的连接池,就从连接池中删除 连接生命周期。
Connection Lifetime的默认值为0,表示该值 连接可以无限期地保持打开状态。
第二个有趣的属性是:
连接空闲超时
在驱动程序关闭连接之前,连接在连接池中保持空闲的时间(以秒为单位)。值为0允许连接在无限期的时间内保持空闲状态。
您应该能够使用此连接字符串设置它们(1分钟生命周期和空闲超时):
"Server=srv;Port=5000;uid=u;pwd=p;Connection Lifetime=60;Connection Idle Timeout=60;"