diff --git a/Sln.Imm.Daemon/Program.cs b/Sln.Imm.Daemon/Program.cs index e8909a5..9e72876 100644 --- a/Sln.Imm.Daemon/Program.cs +++ b/Sln.Imm.Daemon/Program.cs @@ -1,4 +1,5 @@ -using System.Reflection; +using System.Net.Sockets; +using System.Reflection; using Microsoft.Extensions.Configuration; using Microsoft.Extensions.DependencyInjection; using NeoSmart.Caching.Sqlite; @@ -11,6 +12,7 @@ using Sln.Imm.Daemon.Model.dto; using Sln.Imm.Daemon.Opc; using Sln.Imm.Daemon.Opc.Impl; using Sln.Imm.Daemon.Repository; +using Sln.Imm.Daemon.Repository.service; using Sln.Imm.Daemon.Serilog; using ZiggyCreatures.Caching.Fusion; using ZiggyCreatures.Caching.Fusion.Serialization.NewtonsoftJson; @@ -32,13 +34,25 @@ namespace Sln.Imm.Daemon var log = ServiceProvider.GetService(); log.Info($"系统启动成功,日志存放位置:{appConfig.logPath}"); - //IOpcService _opcService = ServiceProvider.GetService(); - //var res = await _opcService.ConnectAsync("opc.tcp://10.10.63.102:4842"); + AppDomain.CurrentDomain.ProcessExit += async (sender, e) => + { + log.Info("进程退出事件触发"); + // 执行清理操作 + var _dicts = ServiceProvider.GetService>(); + foreach (var (item, opc) in _dicts) + { + await opc.DisconnectAsync(); + log.Info($"{item.deviceName}断开连接"); + } + + }; var deviceCollectionBusiness = ServiceProvider.GetService(); deviceCollectionBusiness?.Handle(); + + //List opcs = ServiceProvider.GetService>(); //if( opcs != null ) @@ -62,7 +76,7 @@ namespace Sln.Imm.Daemon // } //} - + Task.Delay(-1).Wait(); } diff --git a/Sln.Imm.Daemon/appsettings.json b/Sln.Imm.Daemon/appsettings.json index 32bb5ad..cf4e0ed 100644 --- a/Sln.Imm.Daemon/appsettings.json +++ b/Sln.Imm.Daemon/appsettings.json @@ -1,6 +1,6 @@ { "AppConfig": { - "logPath": "/Users/wenxiansheng/Public/WorkSpace/Mesnac/项目资料/澳柯玛注塑车间MES项目/日志信息", + "logPath": "F:/桌面/缓存文件/日志信息", "SqlConfig": [ { "configId": "mes",