|
|
@@ -36,11 +36,11 @@ namespace TeamAAS_VP.Views.Home
|
|
|
private readonly ISystemDatabaseService _systemDatabaseService;
|
|
|
private readonly IProductService _productService;
|
|
|
|
|
|
- private List<DelaySaveImage> delaySaveImages = new List<DelaySaveImage>();
|
|
|
+ private List<DelaySaveImage> delaySaveImages { get; set; } = new List<DelaySaveImage>();
|
|
|
|
|
|
// ======================= 【新增】保存任务控制:防闪退/防资源泄露 =======================
|
|
|
private CancellationTokenSource _saveImageCts = new CancellationTokenSource();
|
|
|
- private readonly SemaphoreSlim _saveSemaphore = new SemaphoreSlim(2, 2);
|
|
|
+ private readonly SemaphoreSlim _saveSemaphore = new SemaphoreSlim(5, 5);
|
|
|
|
|
|
public ShowVisionRender()
|
|
|
{
|
|
|
@@ -309,7 +309,7 @@ namespace TeamAAS_VP.Views.Home
|
|
|
await _saveSemaphore.WaitAsync(token);
|
|
|
try
|
|
|
{
|
|
|
- token.ThrowIfCancellationRequested();
|
|
|
+ //token.ThrowIfCancellationRequested();
|
|
|
|
|
|
if (render.IsDelaySaveImage)// 延迟保存(适合你那边后续有处理的场景)
|
|
|
{
|
|
|
@@ -336,6 +336,7 @@ namespace TeamAAS_VP.Views.Home
|
|
|
_saveSemaphore.Release();
|
|
|
return;
|
|
|
}
|
|
|
+ LogHelper.WriteLogInfo("延时图片存入");
|
|
|
SaveImage(
|
|
|
render.SaveImageModel,
|
|
|
render.SaveImagePathModel,
|
|
|
@@ -348,10 +349,6 @@ namespace TeamAAS_VP.Views.Home
|
|
|
);
|
|
|
}
|
|
|
}
|
|
|
- catch (OperationCanceledException)
|
|
|
- {
|
|
|
- // 取消属于正常情况,不记录
|
|
|
- }
|
|
|
catch (Exception ex)
|
|
|
{
|
|
|
LogHelper.WriteLogError("后台保存图像任务出错!", ex);
|
|
|
@@ -364,13 +361,8 @@ namespace TeamAAS_VP.Views.Home
|
|
|
}
|
|
|
}, token);
|
|
|
}
|
|
|
- catch (OperationCanceledException)
|
|
|
- {
|
|
|
- //try { clonedBitmap?.Dispose(); } catch { }
|
|
|
- }
|
|
|
catch (Exception ex)
|
|
|
{
|
|
|
- //try { clonedBitmap?.Dispose(); } catch { }
|
|
|
LogHelper.WriteLogError("RequestSaveImage(UI截图阶段) 出错!", ex);
|
|
|
}
|
|
|
}));
|
|
|
@@ -396,6 +388,7 @@ namespace TeamAAS_VP.Views.Home
|
|
|
try { item.clonedBitmap?.Dispose(); } catch { }
|
|
|
break;
|
|
|
}
|
|
|
+ LogHelper.WriteLogInfo("保存延时储存图片");
|
|
|
SaveImage(
|
|
|
item.SaveImageModel,
|
|
|
item.SaveImagePathModel,
|
|
|
@@ -411,11 +404,7 @@ namespace TeamAAS_VP.Views.Home
|
|
|
{
|
|
|
LogHelper.WriteLogError("UpdateDelaySaveImage 保存图像时出错!", ex);
|
|
|
}
|
|
|
- finally
|
|
|
- {
|
|
|
- // 保存后���放资源
|
|
|
- try { item.clonedBitmap?.Dispose(); } catch { }
|
|
|
- }
|
|
|
+
|
|
|
}
|
|
|
delaySaveImages.Clear();
|
|
|
}
|