From cb00bed893190079b0a4a1782725ac7f8dbf838f Mon Sep 17 00:00:00 2001 From: dd <535915157@qq.com> Date: Fri, 24 Dec 2021 16:18:00 +0800 Subject: [PATCH] =?UTF-8?q?=E8=A7=A3=E5=86=B3=E4=BA=86uaserver=E5=88=9D?= =?UTF-8?q?=E5=A7=8B=E5=8C=96=E5=A4=B1=E8=B4=A5=E7=9A=84=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .vs/IoTGateway/v17/.suo | Bin 252928 -> 256000 bytes IoTGateway/Startup.cs | 4 ++-- Plugins/Plugin/DeviceService.cs | 2 +- .../Plugin/UA.Server/ReferenceNodeManager.cs | 4 ++-- 4 files changed, 5 insertions(+), 5 deletions(-) diff --git a/.vs/IoTGateway/v17/.suo b/.vs/IoTGateway/v17/.suo index 0f0714316cf1a02dd9c20e4e573472a68cf229d0..5e1b84282ca1a9217aff5186aa1939a18fa0b1f3 100644 GIT binary patch delta 9414 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 C4jMK9 delta 8061 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 - services.AddSingleton(); services.AddSingleton(); services.AddSingleton(); + services.AddSingleton(); services.AddSingleton(); } // This method gets called by the runtime. Use this method to configure the HTTP request pipeline. - public void Configure(IApplicationBuilder app, IOptionsMonitor configs, UAService uAService, DeviceService deviceService) + public void Configure(IApplicationBuilder app, IOptionsMonitor configs, DeviceService deviceService) { IconFontsHelper.GenerateIconFont(); diff --git a/Plugins/Plugin/DeviceService.cs b/Plugins/Plugin/DeviceService.cs index 53d48e4..a03fc6f 100644 --- a/Plugins/Plugin/DeviceService.cs +++ b/Plugins/Plugin/DeviceService.cs @@ -30,7 +30,7 @@ namespace Plugin private DBTypeEnum DBType = IoTBackgroundService.DBType; private Interpreter interpreter = new(); - public DeviceService(IConfiguration ConfigRoot, DrvierService drvierManager, MyMqttClient myMqttClient, IMqttServer mqttServer) + public DeviceService(IConfiguration ConfigRoot, DrvierService drvierManager, MyMqttClient myMqttClient, UAService uAService, IMqttServer mqttServer ) { _DrvierManager = drvierManager; _MyMqttClient = myMqttClient; diff --git a/Plugins/Plugin/UA.Server/ReferenceNodeManager.cs b/Plugins/Plugin/UA.Server/ReferenceNodeManager.cs index a214915..f4e987a 100644 --- a/Plugins/Plugin/UA.Server/ReferenceNodeManager.cs +++ b/Plugins/Plugin/UA.Server/ReferenceNodeManager.cs @@ -2777,11 +2777,11 @@ namespace Quickstarts.ReferenceServer #region IoTGatewayDevice using (var DC = new DataContext(IoTBackgroundService.connnectSetting, IoTBackgroundService.DBType)) { - foreach (var group in DC.Set().Where(x => x.DeviceTypeEnum == DeviceTypeEnum.Group).OrderBy(x => x.Index)) + foreach (var group in DC.Set().AsNoTracking().Where(x => x.DeviceTypeEnum == DeviceTypeEnum.Group).OrderBy(x => x.Index).ToList()) { FolderState deviceGroupFolder = CreateFolder(root, group.DeviceName, group.DeviceName); - foreach (var device in DC.Set().Where(x => x.ParentId == group.ID).Include(x => x.DeviceVariables).Include(x => x.DeviceConfigs).OrderBy(x => x.Index)) + foreach (var device in DC.Set().AsNoTracking().Where(x => x.ParentId == group.ID).Include(x => x.DeviceVariables).Include(x => x.DeviceConfigs).OrderBy(x => x.Index).ToList()) { FolderState staticFolder = CreateFolder(deviceGroupFolder, device.DeviceName, device.DeviceName); foreach (var variable in device.DeviceVariables)