修改退出时关闭所有服务和连接
This commit is contained in:
@@ -9,7 +9,7 @@ namespace DMS.Infrastructure.Interfaces.Services
|
||||
/// <summary>
|
||||
/// MQTT后台服务接口,负责管理MQTT连接和数据传输
|
||||
/// </summary>
|
||||
public interface IMqttBackgroundService
|
||||
public interface IMqttBackgroundService : IDisposable
|
||||
{
|
||||
/// <summary>
|
||||
/// 启动MQTT后台服务
|
||||
|
||||
@@ -9,7 +9,7 @@ namespace DMS.Infrastructure.Interfaces.Services
|
||||
/// <summary>
|
||||
/// MQTT服务管理器接口,负责管理MQTT连接和变量监控
|
||||
/// </summary>
|
||||
public interface IMqttServiceManager
|
||||
public interface IMqttServiceManager : IDisposable
|
||||
{
|
||||
/// <summary>
|
||||
/// 初始化服务管理器
|
||||
|
||||
@@ -243,5 +243,20 @@ namespace DMS.Infrastructure.Services
|
||||
_logger.LogInformation("MQTT列表发生了变化,正在重新加载数据...");
|
||||
_reloadSemaphore.Release();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 释放资源
|
||||
/// </summary>
|
||||
public override void Dispose()
|
||||
{
|
||||
_logger.LogInformation("正在释放MQTT后台服务资源...");
|
||||
|
||||
_dataCenterService.OnLoadDataCompleted -= OnLoadDataCompleted;
|
||||
_reloadSemaphore?.Dispose();
|
||||
|
||||
base.Dispose();
|
||||
|
||||
_logger.LogInformation("MQTT后台服务资源已释放");
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user