我一直在使用npgsql 3.1.7及其新的连接字符串参数 ConnectionIdleLifetime。
这是我的连接字符串。
Server=localhost;Port=5432;Database=SearchingforStaging;User Id=postgres;Password=Password01;Pooling=true;MinPoolSize=1;MaxPoolSize=200;ConnectionIdleLifetime=300;ConnectionPruningInterval=10;
现在根据我的理解。它只会在300秒后处理空闲连接。但我能够体验"连接已关闭"当我要求PostgreSQL时,它不是空闲连接,而是一个活动连接。
Sudo-Code片段(asp.net nhibernate)
using(ISession session = new session){
//basically. i have this to query. and it should result a list.
// but when ConnectionIdleLifetime triggers in 300 seconds and im requesting. and im in a middle of the request right here.
//the error would be "Session is closed"
var result = session.query("select * from table").List();
}
我认为上面创建的连接是一个有效的连接。 但它的会议也已结束。好像ConnectionIdleLifetime命令不会关闭空闲连接。还有活跃的。
为什么它也会终止我的活动连接?