.NET ConnectionIdleLifetime的Npgsql驱动程序终止非空闲连接

时间:2016-08-07 05:08:41

标签: asp.net postgresql nhibernate npgsql

我一直在使用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命令不会关闭空闲连接。还有活跃的。

为什么它也会终止我的活动连接?

0 个答案:

没有答案