1 feat: 重构数据加载完成事件的处理机制

2
    3 - 从IDataLoaderService接口中移除OnLoadDataCompleted事件
    4 - 在IEventService接口中新增OnLoadDataCompleted事件和RaiseLoadDataCompleted方法
    5 - 在EventService实现类中实现数据加载完成事件的触发功能
    6 - 修改DataLoaderService不再直接触发事件,而是通过IEventService来触发
    7 - 更新MQTT、OPC UA和S7后台服务以订阅事件服务中的数据加载完成事件
    8 - 修改数据加载完成事件的监听方式,统一使用事件服务进行管理
    9
   10 此重构改进了事件处理的架构设计,使事件管理更加集中和一致。
This commit is contained in:
2025-10-05 11:21:05 +08:00
parent a6fc543e4f
commit b85ffdc21b
8 changed files with 49 additions and 17 deletions

View File

@@ -23,6 +23,7 @@ namespace DMS.Infrastructure.Services.OpcUa
public OptimizedOpcUaBackgroundService(
IAppDataCenterService appDataCenterService,
IAppDataStorageService appDataStorageService,
IEventService eventService,
IOpcUaServiceManager opcUaServiceManager,
ILogger<OptimizedOpcUaBackgroundService> logger)
{
@@ -30,8 +31,8 @@ namespace DMS.Infrastructure.Services.OpcUa
_appDataStorageService = appDataStorageService;
_opcUaServiceManager = opcUaServiceManager ?? throw new ArgumentNullException(nameof(opcUaServiceManager));
_logger = logger ?? throw new ArgumentNullException(nameof(logger));
_appDataCenterService.DataLoaderService.OnLoadDataCompleted += OnLoadDataCompleted;
_eventService = eventService;
_eventService.OnLoadDataCompleted += OnLoadDataCompleted;
}
@@ -146,7 +147,7 @@ namespace DMS.Infrastructure.Services.OpcUa
{
_logger.LogInformation("正在释放OPC UA后台服务资源...");
_appDataCenterService.DataLoaderService.OnLoadDataCompleted -= OnLoadDataCompleted;
_eventService.OnLoadDataCompleted -= OnLoadDataCompleted;
_reloadSemaphore?.Dispose();
base.Dispose();