refactor:完成重构设备的添加,删除,更新。
This commit is contained in:
@@ -17,7 +17,7 @@ namespace DMS.Infrastructure.Services.Mqtt
|
||||
private readonly ILogger<MqttBackgroundService> _logger;
|
||||
private readonly IMqttServiceManager _mqttServiceManager;
|
||||
private readonly IEventService _eventService;
|
||||
private readonly IAppStorageService _appStorageService;
|
||||
private readonly IAppDataService _appDataService;
|
||||
private readonly IAppCenterService _appCenterService;
|
||||
private readonly ConcurrentDictionary<int, MqttServer> _mqttServers;
|
||||
private readonly SemaphoreSlim _reloadSemaphore = new(0);
|
||||
@@ -26,13 +26,13 @@ namespace DMS.Infrastructure.Services.Mqtt
|
||||
ILogger<MqttBackgroundService> logger,
|
||||
IMqttServiceManager mqttServiceManager,
|
||||
IEventService eventService,
|
||||
IAppStorageService appStorageService,
|
||||
IAppDataService appStorageService,
|
||||
IAppCenterService appCenterService)
|
||||
{
|
||||
_logger = logger ?? throw new ArgumentNullException(nameof(logger));
|
||||
_mqttServiceManager = mqttServiceManager ?? throw new ArgumentNullException(nameof(mqttServiceManager));
|
||||
_eventService = eventService;
|
||||
_appStorageService = appStorageService;
|
||||
_appDataService = appStorageService;
|
||||
_appCenterService = appCenterService ?? throw new ArgumentNullException(nameof(appCenterService));
|
||||
_mqttServers = new ConcurrentDictionary<int, MqttServer>();
|
||||
|
||||
@@ -186,7 +186,7 @@ namespace DMS.Infrastructure.Services.Mqtt
|
||||
_mqttServers.Clear();
|
||||
|
||||
// 从数据服务中心获取所有激活的MQTT服务器
|
||||
var mqttServers = _appStorageService.MqttServers.Values.ToList();
|
||||
var mqttServers = _appDataService.MqttServers.Values.ToList();
|
||||
|
||||
foreach (var mqttServer in mqttServers)
|
||||
{
|
||||
|
||||
@@ -15,7 +15,7 @@ namespace DMS.Infrastructure.Services.OpcUa
|
||||
public class OptimizedOpcUaBackgroundService : BackgroundService
|
||||
{
|
||||
private readonly IAppCenterService _appCenterService;
|
||||
private readonly IAppStorageService _appStorageService;
|
||||
private readonly IAppDataService _appDataService;
|
||||
private readonly IEventService _eventService;
|
||||
private readonly IOpcUaServiceManager _opcUaServiceManager;
|
||||
private readonly ILogger<OptimizedOpcUaBackgroundService> _logger;
|
||||
@@ -23,13 +23,13 @@ namespace DMS.Infrastructure.Services.OpcUa
|
||||
|
||||
public OptimizedOpcUaBackgroundService(
|
||||
IAppCenterService appCenterService,
|
||||
IAppStorageService appStorageService,
|
||||
IAppDataService appStorageService,
|
||||
IEventService eventService,
|
||||
IOpcUaServiceManager opcUaServiceManager,
|
||||
ILogger<OptimizedOpcUaBackgroundService> logger)
|
||||
{
|
||||
_appCenterService = appCenterService ?? throw new ArgumentNullException(nameof(appCenterService));
|
||||
_appStorageService = appStorageService;
|
||||
_appDataService = appStorageService;
|
||||
_opcUaServiceManager = opcUaServiceManager ?? throw new ArgumentNullException(nameof(opcUaServiceManager));
|
||||
_logger = logger ?? throw new ArgumentNullException(nameof(logger));
|
||||
_eventService = eventService;
|
||||
@@ -60,7 +60,7 @@ namespace DMS.Infrastructure.Services.OpcUa
|
||||
if (stoppingToken.IsCancellationRequested)
|
||||
break;
|
||||
|
||||
if (_appStorageService.Devices.IsEmpty)
|
||||
if (_appDataService.Devices.IsEmpty)
|
||||
{
|
||||
_logger.LogInformation("没有可用的OPC UA设备,等待设备列表更新...");
|
||||
continue;
|
||||
@@ -96,7 +96,7 @@ namespace DMS.Infrastructure.Services.OpcUa
|
||||
try
|
||||
{
|
||||
// 获取所有活动的OPC UA设备
|
||||
var opcUaDevices = _appStorageService.Devices.Values
|
||||
var opcUaDevices = _appDataService.Devices.Values
|
||||
.Where(d => d.Protocol == ProtocolType.OpcUa )
|
||||
.ToList();
|
||||
|
||||
|
||||
@@ -20,7 +20,7 @@ namespace DMS.Infrastructure.Services.S7;
|
||||
public class OptimizedS7BackgroundService : BackgroundService
|
||||
{
|
||||
private readonly IAppCenterService _appCenterService;
|
||||
private readonly IAppStorageService _appStorageService;
|
||||
private readonly IAppDataService _appDataService;
|
||||
private readonly IEventService _eventService;
|
||||
private readonly IDataProcessingService _dataProcessingService;
|
||||
private readonly IS7ServiceManager _s7ServiceManager;
|
||||
@@ -39,14 +39,14 @@ public class OptimizedS7BackgroundService : BackgroundService
|
||||
/// </summary>
|
||||
public OptimizedS7BackgroundService(
|
||||
IAppCenterService appCenterService,
|
||||
IAppStorageService appStorageService,
|
||||
IAppDataService appStorageService,
|
||||
IEventService eventService,
|
||||
IDataProcessingService dataProcessingService,
|
||||
IS7ServiceManager s7ServiceManager,
|
||||
ILogger<OptimizedS7BackgroundService> logger)
|
||||
{
|
||||
_appCenterService = appCenterService;
|
||||
_appStorageService = appStorageService;
|
||||
_appDataService = appStorageService;
|
||||
_eventService = eventService;
|
||||
_dataProcessingService = dataProcessingService;
|
||||
_s7ServiceManager = s7ServiceManager;
|
||||
@@ -76,7 +76,7 @@ public class OptimizedS7BackgroundService : BackgroundService
|
||||
break;
|
||||
}
|
||||
|
||||
if (_appStorageService.Devices.IsEmpty)
|
||||
if (_appDataService.Devices.IsEmpty)
|
||||
{
|
||||
_logger.LogInformation("没有可用的S7设备,等待设备列表更新...");
|
||||
continue;
|
||||
@@ -124,7 +124,7 @@ public class OptimizedS7BackgroundService : BackgroundService
|
||||
_variablesByPollingInterval.Clear();
|
||||
_logger.LogInformation("开始加载S7变量....");
|
||||
|
||||
var s7Devices = _appStorageService
|
||||
var s7Devices = _appDataService
|
||||
.Devices.Values.Where(d => d.Protocol == ProtocolType.S7 && d.IsActive == true)
|
||||
.ToList();
|
||||
|
||||
@@ -161,7 +161,7 @@ public class OptimizedS7BackgroundService : BackgroundService
|
||||
/// </summary>
|
||||
private async Task ConnectS7ServiceAsync(CancellationToken stoppingToken)
|
||||
{
|
||||
var s7Devices = _appStorageService
|
||||
var s7Devices = _appDataService
|
||||
.Devices.Values.Where(d => d.Protocol == ProtocolType.S7 && d.IsActive == true)
|
||||
.ToList();
|
||||
|
||||
@@ -207,7 +207,7 @@ public class OptimizedS7BackgroundService : BackgroundService
|
||||
private async Task PollVariablesForDeviceAsync(S7DeviceContext context, List<Variable> variables,
|
||||
CancellationToken stoppingToken)
|
||||
{
|
||||
if (!_appStorageService.Devices.TryGetValue(context.Device.Id, out var device))
|
||||
if (!_appDataService.Devices.TryGetValue(context.Device.Id, out var device))
|
||||
{
|
||||
_logger.LogWarning($"轮询时没有找到设备ID:{context.Device.Id}");
|
||||
return;
|
||||
|
||||
@@ -20,7 +20,7 @@ namespace DMS.Infrastructure.Services.S7
|
||||
private readonly IEventService _eventService;
|
||||
private readonly IDataProcessingService _dataProcessingService;
|
||||
private readonly IAppCenterService _appCenterService;
|
||||
private readonly IAppStorageService _appStorageService;
|
||||
private readonly IAppDataService _appDataService;
|
||||
private readonly IS7ServiceFactory _s7ServiceFactory;
|
||||
private readonly ConcurrentDictionary<int, S7DeviceContext> _deviceContexts;
|
||||
private readonly SemaphoreSlim _semaphore;
|
||||
@@ -31,7 +31,7 @@ namespace DMS.Infrastructure.Services.S7
|
||||
IEventService eventService,
|
||||
IDataProcessingService dataProcessingService,
|
||||
IAppCenterService appCenterService,
|
||||
IAppStorageService appStorageService,
|
||||
IAppDataService appStorageService,
|
||||
IS7ServiceFactory s7ServiceFactory)
|
||||
{
|
||||
_logger = logger ?? throw new ArgumentNullException(nameof(logger));
|
||||
@@ -40,7 +40,7 @@ namespace DMS.Infrastructure.Services.S7
|
||||
= dataProcessingService ?? throw new ArgumentNullException(nameof(dataProcessingService));
|
||||
_appCenterService
|
||||
= appCenterService ?? throw new ArgumentNullException(nameof(appCenterService));
|
||||
_appStorageService = appStorageService;
|
||||
_appDataService = appStorageService;
|
||||
_s7ServiceFactory = s7ServiceFactory ?? throw new ArgumentNullException(nameof(s7ServiceFactory));
|
||||
_deviceContexts = new ConcurrentDictionary<int, S7DeviceContext>();
|
||||
_semaphore = new SemaphoreSlim(10, 10); // 默认最大并发连接数为10
|
||||
@@ -54,7 +54,7 @@ namespace DMS.Infrastructure.Services.S7
|
||||
// if (_deviceContexts.TryGetValue(e.DeviceId, out var s7DeviceContext))
|
||||
// {
|
||||
|
||||
// var variables = _appStorageService.Variables.Values.Where(v => e.VariableIds.Contains(v.Id))
|
||||
// var variables = _appDataService.Variables.Values.Where(v => e.VariableIds.Contains(v.Id))
|
||||
// .ToList();
|
||||
// foreach (var variable in variables)
|
||||
// {
|
||||
|
||||
Reference in New Issue
Block a user