ADO.Net连接池和会话关联

时间:2019-06-20 13:50:13

标签: mysql ado.net

最近,我遇到了以下问题。我需要执行几个db语句,每个语句都使用自己的IDbConnection对象:

using (IDbConnection connection = _dbFactory.GetConnection())
{
// statement 1
}
...
using (IDbConnection connection = _dbFactory.GetConnection())
{
// statement 2
}
...
using (IDbConnection connection = _dbFactory.GetConnection())
{
// statement 3
}

要求是所有语句应在同一会话内执行,因为存在与会话相关的语句,例如get_lock()/release_lock()set XXX

当前,如果ADO.net池中有多个连接,则会出现问题,因为每个GetConnection()调用都会返回随机连接。

我认为可以通过使用专门为此任务设置的单独连接池(通过将其他连接字符串与MaxPoolSize = 1或其他方式配合使用)来解决。

足以保证在GetConnection()个呼叫之间进行相同的会话吗?

0 个答案:

没有答案