- 优化 ConnectionPool 提升被动连接断开的体验(会卡的可以升级);

This commit is contained in:
28810
2020-03-23 23:17:00 +08:00
parent 487cefebc8
commit a8eaca9e58
17 changed files with 30 additions and 20 deletions

View File

@ -182,7 +182,7 @@ namespace FreeSql.MsAccess
public void OnReturn(Object<DbConnection> obj)
{
if (obj.Value.State != ConnectionState.Closed) try { obj.Value.Close(); } catch { }
//if (obj?.Value != null && obj.Value.State != ConnectionState.Closed) try { obj.Value.Close(); } catch { }
}
public void OnAvailable()

View File

@ -106,7 +106,8 @@ namespace FreeSql.MySql
public void OnDestroy(DbConnection obj)
{
if (obj.State != ConnectionState.Closed) obj.Close();
try { if (obj.State != ConnectionState.Closed) obj.Close(); } catch { }
try { MySqlConnection.ClearPool(obj as MySqlConnection); } catch { }
obj.Dispose();
}
@ -176,7 +177,7 @@ namespace FreeSql.MySql
public void OnReturn(Object<DbConnection> obj)
{
//if (obj?.Value != null && obj.Value.State != ConnectionState.Closed) try { obj.Value.Close(); } catch { }
}
public void OnAvailable()

View File

@ -198,7 +198,7 @@ namespace FreeSql.Odbc.Dameng
public void OnReturn(Object<DbConnection> obj)
{
//if (obj?.Value != null && obj.Value.State != ConnectionState.Closed) try { obj.Value.Close(); } catch { }
}
public void OnAvailable()

View File

@ -183,7 +183,7 @@ namespace FreeSql.Odbc.Default
public void OnReturn(Object<DbConnection> obj)
{
if (obj.Value.State != ConnectionState.Closed) try { obj.Value.Close(); } catch { }
//if (obj?.Value != null && obj.Value.State != ConnectionState.Closed) try { obj.Value.Close(); } catch { }
}
public void OnAvailable()

View File

@ -176,7 +176,7 @@ namespace FreeSql.Odbc.MySql
public void OnReturn(Object<DbConnection> obj)
{
//if (obj?.Value != null && obj.Value.State != ConnectionState.Closed) try { obj.Value.Close(); } catch { }
}
public void OnAvailable()

View File

@ -198,7 +198,7 @@ namespace FreeSql.Odbc.Oracle
public void OnReturn(Object<DbConnection> obj)
{
//if (obj?.Value != null && obj.Value.State != ConnectionState.Closed) try { obj.Value.Close(); } catch { }
}
public void OnAvailable()

View File

@ -188,7 +188,7 @@ namespace FreeSql.Odbc.PostgreSQL
public void OnReturn(Object<DbConnection> obj)
{
//if (obj?.Value != null && obj.Value.State != ConnectionState.Closed) try { obj.Value.Close(); } catch { }
}
public void OnAvailable()

View File

@ -183,7 +183,7 @@ namespace FreeSql.Odbc.SqlServer
public void OnReturn(Object<DbConnection> obj)
{
if (obj.Value.State != ConnectionState.Closed) try { obj.Value.Close(); } catch { }
//if (obj?.Value != null && obj.Value.State != ConnectionState.Closed) try { obj.Value.Close(); } catch { }
}
public void OnAvailable()

View File

@ -128,7 +128,8 @@ namespace FreeSql.Oracle
public void OnDestroy(DbConnection obj)
{
if (obj.State != ConnectionState.Closed) obj.Close();
try { if (obj.State != ConnectionState.Closed) obj.Close(); } catch { }
try { OracleConnection.ClearPool(obj as OracleConnection); } catch { }
obj.Dispose();
}
@ -198,7 +199,7 @@ namespace FreeSql.Oracle
public void OnReturn(Object<DbConnection> obj)
{
//if (obj?.Value != null && obj.Value.State != ConnectionState.Closed) try { obj.Value.Close(); } catch { }
}
public void OnAvailable()

View File

@ -118,7 +118,8 @@ namespace FreeSql.PostgreSQL
public void OnDestroy(DbConnection obj)
{
if (obj.State != ConnectionState.Closed) obj.Close();
try { if (obj.State != ConnectionState.Closed) obj.Close(); } catch { }
try { NpgsqlConnection.ClearPool(obj as NpgsqlConnection); } catch { }
obj.Dispose();
}
@ -188,7 +189,7 @@ namespace FreeSql.PostgreSQL
public void OnReturn(Object<DbConnection> obj)
{
//if (obj?.Value != null && obj.Value.State != ConnectionState.Closed) try { obj.Value.Close(); } catch { }
}
public void OnAvailable()

View File

@ -111,7 +111,8 @@ namespace FreeSql.SqlServer
public void OnDestroy(DbConnection obj)
{
if (obj.State != ConnectionState.Closed) obj.Close();
try { if (obj.State != ConnectionState.Closed) obj.Close(); } catch { }
try { SqlConnection.ClearPool(obj as SqlConnection); } catch { }
obj.Dispose();
}
@ -181,7 +182,7 @@ namespace FreeSql.SqlServer
public void OnReturn(Object<DbConnection> obj)
{
if (obj.Value.State != ConnectionState.Closed) try { obj.Value.Close(); } catch { }
//if (obj?.Value != null && obj.Value.State != ConnectionState.Closed) try { obj.Value.Close(); } catch { }
}
public void OnAvailable()

View File

@ -204,7 +204,7 @@ namespace FreeSql.Sqlite
public void OnReturn(Object<DbConnection> obj)
{
//if (obj?.Value != null && obj.Value.State != ConnectionState.Closed) try { obj.Value.Close(); } catch { }
}
public void OnAvailable()