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:
@@ -16,6 +16,7 @@ namespace DMS.Infrastructure.Services.Mqtt
|
||||
{
|
||||
private readonly ILogger<MqttBackgroundService> _logger;
|
||||
private readonly IMqttServiceManager _mqttServiceManager;
|
||||
private readonly IEventService _eventService;
|
||||
private readonly IAppDataStorageService _appDataStorageService;
|
||||
private readonly IAppDataCenterService _appDataCenterService;
|
||||
private readonly ConcurrentDictionary<int, MqttServer> _mqttServers;
|
||||
@@ -24,16 +25,18 @@ namespace DMS.Infrastructure.Services.Mqtt
|
||||
public MqttBackgroundService(
|
||||
ILogger<MqttBackgroundService> logger,
|
||||
IMqttServiceManager mqttServiceManager,
|
||||
IEventService eventService,
|
||||
IAppDataStorageService appDataStorageService,
|
||||
IAppDataCenterService appDataCenterService)
|
||||
{
|
||||
_logger = logger ?? throw new ArgumentNullException(nameof(logger));
|
||||
_mqttServiceManager = mqttServiceManager ?? throw new ArgumentNullException(nameof(mqttServiceManager));
|
||||
_eventService = eventService;
|
||||
_appDataStorageService = appDataStorageService;
|
||||
_appDataCenterService = appDataCenterService ?? throw new ArgumentNullException(nameof(appDataCenterService));
|
||||
_mqttServers = new ConcurrentDictionary<int, MqttServer>();
|
||||
|
||||
_appDataCenterService.DataLoaderService.OnLoadDataCompleted += OnLoadDataCompleted;
|
||||
_eventService.OnLoadDataCompleted += OnLoadDataCompleted;
|
||||
}
|
||||
|
||||
private void OnLoadDataCompleted(object? sender, DataLoadCompletedEventArgs e)
|
||||
@@ -250,7 +253,7 @@ namespace DMS.Infrastructure.Services.Mqtt
|
||||
{
|
||||
_logger.LogInformation("正在释放MQTT后台服务资源...");
|
||||
|
||||
_appDataCenterService.DataLoaderService.OnLoadDataCompleted -= OnLoadDataCompleted;
|
||||
_eventService.OnLoadDataCompleted -= OnLoadDataCompleted;
|
||||
_reloadSemaphore?.Dispose();
|
||||
|
||||
base.Dispose();
|
||||
|
||||
@@ -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();
|
||||
|
||||
@@ -51,7 +51,7 @@ public class OptimizedS7BackgroundService : BackgroundService
|
||||
_s7ServiceManager = s7ServiceManager;
|
||||
_logger = logger;
|
||||
|
||||
_appDataCenterService.DataLoaderService.OnLoadDataCompleted += OnLoadDataCompleted;
|
||||
_eventService.OnLoadDataCompleted += OnLoadDataCompleted;
|
||||
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user