diff --git a/.vs/IoTGateway/v17/.suo b/.vs/IoTGateway/v17/.suo index 0f07143..5e1b842 100644 Binary files a/.vs/IoTGateway/v17/.suo and b/.vs/IoTGateway/v17/.suo differ diff --git a/IoTGateway/Startup.cs b/IoTGateway/Startup.cs index 517cd9c..4ca1a61 100644 --- a/IoTGateway/Startup.cs +++ b/IoTGateway/Startup.cs @@ -73,14 +73,14 @@ namespace IoTGateway services.AddHostedService(); - 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)