DotNet Core + Dapper 数据库连接池耗尽

本文详细介绍了DotnetCore中数据库连接池的默认配置,包括连接数、超时时间等参数。同时,探讨了Dapper对数据库连接池的两种管理方式:程序员自行控制和Dapper托管,并提供了代码示例。

Dotnet Core数据库连接池默认是开启状态,连接数默认100,连接超时默认15秒。当然你可设置Pooling=false不启用数据连接池。

Data Source=localhost;Initial Catalog=LOP;User ID=sa;Password=nc;Persist Security Info=True;Pooling=true;Max Pool Size=16;Min Pool Size=0;Connection Lifetime=20;

Dapper对数据库连接池有两种管理方式:程序员自己控制和Dapper托管

        创建IDbConnection后,如果添加conn.Open()代码行,相当于程序员自己管理Open和Closed; 如果你想让Dapper来管理Open和Closed就不要写conn.Open啦; 事务操作例外。

IDbConnection CreateConnection(DatabaseType dbType, string strConn)
{
    IDbConnection connection = null;
    if (string.IsNullOrWhiteSpace(strConn))
        throw new ArgumentNullException("The Database Connection Undefined");

    switch (dbType)
    {
        case DatabaseType.SqlServer:
            connection = new SqlConnection(strConn);
            break;
        case DatabaseType.MySQL:
            connection = new MySqlConnection(strConn);
            break;
        default:
            throw new ArgumentNullException($"The Database Type ({dbType.ToString()}) Not Support");
    }
    //要自己控制 还是Dapper托管
    connection.Open();
}

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值