DotNet Core + 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();
}

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章