监控逻辑
This commit is contained in:
@@ -27,9 +27,6 @@ namespace UIShare.GlobalVariable
|
||||
private readonly string _scopeName;
|
||||
private readonly IEventAggregator _eventAggregator;
|
||||
|
||||
/// <summary>CAN 信号广播器:将 DBC 解码后的信号值广播给监控系统</summary>
|
||||
private CANSignalBroadcaster? _canSignalBroadcaster;
|
||||
|
||||
/// <summary>按 DeviceName 索引的设备字典,便于业务层按名取实例。</summary>
|
||||
public IDictionary<string, IBaseInterface> DeviceMap { get; private set; }
|
||||
= new Dictionary<string, IBaseInterface>(StringComparer.OrdinalIgnoreCase);
|
||||
@@ -439,10 +436,6 @@ namespace UIShare.GlobalVariable
|
||||
bool ok = await Task.Run(() =>
|
||||
{
|
||||
if (!CANFD.打开设备()) return false;
|
||||
// 启动 CAN 信号广播器
|
||||
_canSignalBroadcaster = new CANSignalBroadcaster(_eventAggregator, _scopeName);
|
||||
_canSignalBroadcaster.Bind(CANFD);
|
||||
|
||||
// 自动加载 DBC 文件
|
||||
if (_systemConfig?.DBCAutoLoadList != null)
|
||||
{
|
||||
@@ -528,10 +521,6 @@ namespace UIShare.GlobalVariable
|
||||
return;
|
||||
}
|
||||
|
||||
// 先释放 CAN 信号广播器,取消事件订阅,防止关闭过程中仍触发回调
|
||||
_canSignalBroadcaster?.Dispose();
|
||||
_canSignalBroadcaster = null;
|
||||
|
||||
await Task.Run(() => CANFD.关闭CAN卡设备());
|
||||
LoggerHelper.Info($"CAN 设备 [{name}] 已成功关闭连接。");
|
||||
}
|
||||
@@ -591,10 +580,6 @@ namespace UIShare.GlobalVariable
|
||||
|
||||
public void Dispose()
|
||||
{
|
||||
// 释放 CAN 信号广播器
|
||||
_canSignalBroadcaster?.Dispose();
|
||||
_canSignalBroadcaster = null;
|
||||
|
||||
if (string.IsNullOrEmpty(_scopeName)) return;
|
||||
|
||||
// 遍历当前作用域用到的所有指纹,逐一移除本作用域的引用
|
||||
|
||||
Reference in New Issue
Block a user