diff --git a/Extensions/FreeSql.Extensions.LazyLoading/LazyLoadingComplier.cs b/Extensions/FreeSql.Extensions.LazyLoading/LazyLoadingComplier.cs
index e89f72e0..3a3f8351 100644
--- a/Extensions/FreeSql.Extensions.LazyLoading/LazyLoadingComplier.cs
+++ b/Extensions/FreeSql.Extensions.LazyLoading/LazyLoadingComplier.cs
@@ -49,7 +49,7 @@ namespace FreeSql.Extensions.LazyLoading
if (!dll.EndsWith(".dll", StringComparison.OrdinalIgnoreCase) &&
!dll.EndsWith(".exe", StringComparison.OrdinalIgnoreCase)) continue;
- Console.WriteLine(dll);
+ //Console.WriteLine(dll);
var dllName = string.Empty;
var idx = dll.LastIndexOf('/');
if (idx != -1) dllName = dll.Substring(idx + 1);
diff --git a/FreeSql/FreeSql.xml b/FreeSql/FreeSql.xml
index 7f84d792..6a7e15e8 100644
--- a/FreeSql/FreeSql.xml
+++ b/FreeSql/FreeSql.xml
@@ -4316,7 +4316,7 @@
策略
-
+
获取可用资源,或创建资源
diff --git a/FreeSql/Internal/ObjectPool/DefaultPolicy.cs b/FreeSql/Internal/ObjectPool/DefaultPolicy.cs
index 744b8b8b..1e7e47a0 100644
--- a/FreeSql/Internal/ObjectPool/DefaultPolicy.cs
+++ b/FreeSql/Internal/ObjectPool/DefaultPolicy.cs
@@ -33,7 +33,6 @@ namespace FreeSql.Internal.ObjectPool
public void OnGet(Object obj)
{
- //Console.WriteLine("Get: " + obj);
OnGetObject?.Invoke(obj);
}
@@ -41,7 +40,6 @@ namespace FreeSql.Internal.ObjectPool
#else
public Task OnGetAsync(Object obj)
{
- //Console.WriteLine("GetAsync: " + obj);
OnGetObject?.Invoke(obj);
return Task.FromResult(true);
}
@@ -54,7 +52,6 @@ namespace FreeSql.Internal.ObjectPool
public void OnReturn(Object obj)
{
- //Console.WriteLine("Return: " + obj);
}
public bool OnCheckAvailable(Object obj)
diff --git a/FreeSql/Internal/ObjectPool/ObjectPool.cs b/FreeSql/Internal/ObjectPool/ObjectPool.cs
index 6e760519..ac4d21e6 100644
--- a/FreeSql/Internal/ObjectPool/ObjectPool.cs
+++ b/FreeSql/Internal/ObjectPool/ObjectPool.cs
@@ -9,6 +9,40 @@ using System.Threading.Tasks;
namespace FreeSql.Internal.ObjectPool
{
+ internal class TestTrace
+ {
+ internal static void WriteLine(string text, ConsoleColor backgroundColor)
+ {
+ try //#643
+ {
+ var bgcolor = Console.BackgroundColor;
+ var forecolor = Console.ForegroundColor;
+ Console.BackgroundColor = backgroundColor;
+
+ switch (backgroundColor)
+ {
+ case ConsoleColor.Yellow:
+ Console.ForegroundColor = ConsoleColor.White;
+ break;
+ case ConsoleColor.DarkGreen:
+ Console.ForegroundColor = ConsoleColor.White;
+ break;
+ }
+ Console.Write(text);
+ Console.BackgroundColor = bgcolor;
+ Console.ForegroundColor = forecolor;
+ Console.WriteLine();
+ }
+ catch
+ {
+ try
+ {
+ System.Diagnostics.Debug.WriteLine(text);
+ }
+ catch { }
+ }
+ }
+ }
///
/// 对象池管理类
@@ -74,16 +108,7 @@ namespace FreeSql.Internal.ObjectPool
{
if (UnavailableException != null)
- {
- var bgcolor = Console.BackgroundColor;
- var forecolor = Console.ForegroundColor;
- Console.BackgroundColor = ConsoleColor.DarkYellow;
- Console.ForegroundColor = ConsoleColor.White;
- Console.Write($"【{Policy.Name}】恢复检查时间:{DateTime.Now.AddSeconds(interval)}");
- Console.BackgroundColor = bgcolor;
- Console.ForegroundColor = forecolor;
- Console.WriteLine();
- }
+ TestTrace.WriteLine($"【{Policy.Name}】恢复检查时间:{DateTime.Now.AddSeconds(interval)}", ConsoleColor.DarkYellow);
while (UnavailableException != null)
{
@@ -97,7 +122,7 @@ namespace FreeSql.Internal.ObjectPool
try
{
- var conn = getFree(false);
+ var conn = GetFree(false);
if (conn == null) throw new Exception($"CheckAvailable 无法获得资源,{this.Statistics}");
try
@@ -116,14 +141,7 @@ namespace FreeSql.Internal.ObjectPool
}
catch (Exception ex)
{
- var bgcolor = Console.BackgroundColor;
- var forecolor = Console.ForegroundColor;
- Console.BackgroundColor = ConsoleColor.DarkYellow;
- Console.ForegroundColor = ConsoleColor.White;
- Console.Write($"【{Policy.Name}】仍然不可用,下一次恢复检查时间:{DateTime.Now.AddSeconds(interval)},错误:({ex.Message})");
- Console.BackgroundColor = bgcolor;
- Console.ForegroundColor = forecolor;
- Console.WriteLine();
+ TestTrace.WriteLine($"【{Policy.Name}】仍然不可用,下一次恢复检查时间:{DateTime.Now.AddSeconds(interval)},错误:({ex.Message})", ConsoleColor.DarkYellow);
}
}
@@ -160,14 +178,7 @@ namespace FreeSql.Internal.ObjectPool
Policy.OnAvailable();
- var bgcolor = Console.BackgroundColor;
- var forecolor = Console.ForegroundColor;
- Console.BackgroundColor = ConsoleColor.DarkGreen;
- Console.ForegroundColor = ConsoleColor.White;
- Console.Write($"【{Policy.Name}】已恢复工作");
- Console.BackgroundColor = bgcolor;
- Console.ForegroundColor = forecolor;
- Console.WriteLine();
+ TestTrace.WriteLine($"【{Policy.Name}】已恢复工作", ConsoleColor.DarkGreen);
}
}
@@ -177,7 +188,7 @@ namespace FreeSql.Internal.ObjectPool
try
{
- var conn = getFree(false);
+ var conn = GetFree(false);
if (conn == null) throw new Exception($"LiveCheckAvailable 无法获得资源,{this.Statistics}");
try
@@ -260,7 +271,7 @@ namespace FreeSql.Internal.ObjectPool
/// 获取可用资源,或创建资源
///
///
- private Object getFree(bool checkAvailable)
+ private Object GetFree(bool checkAvailable)
{
if (running == false)
@@ -300,7 +311,7 @@ namespace FreeSql.Internal.ObjectPool
public Object Get(TimeSpan? timeout = null)
{
- var obj = getFree(true);
+ var obj = GetFree(true);
if (obj == null)
{
@@ -357,7 +368,7 @@ namespace FreeSql.Internal.ObjectPool
async public Task