This commit is contained in:
2248356998 qq.com
2025-07-16 21:18:14 +08:00
parent 5e4f0057e4
commit 788a8b670d
3 changed files with 22 additions and 14 deletions

View File

@@ -30,7 +30,7 @@
<PackageReference Include="Npgsql" Version="9.0.3" />
<PackageReference Include="CsvHelper" Version="33.1.0" />
<PackageReference Include="TDengine.Connector" Version="3.1.6" />
<PackageReference Include="Oracle.ManagedDataAccess.Core" Version="23.9.0" />
<PackageReference Include="Oracle.ManagedDataAccess.Core" Version="23.9.1" />
<PackageReference Include="Oscar.Data.SqlClient" Version="4.2.20" />
<PackageReference Include="System.Data.Common" Version="4.3.0" />
<PackageReference Include="Microsoft.Data.SqlClient" Version="6.0.2" />

View File

@@ -1,9 +1,9 @@
<Project>
<PropertyGroup>
<PluginVersion>10.9.39</PluginVersion>
<ProPluginVersion>10.9.39</ProPluginVersion>
<DefaultVersion>10.9.39</DefaultVersion>
<PluginVersion>10.9.40</PluginVersion>
<ProPluginVersion>10.9.40</ProPluginVersion>
<DefaultVersion>10.9.40</DefaultVersion>
<AuthenticationVersion>2.9.18</AuthenticationVersion>
<SourceGeneratorVersion>10.9.18</SourceGeneratorVersion>
<NET8Version>8.0.18</NET8Version>

View File

@@ -408,18 +408,26 @@ internal sealed class DeviceThreadManage : IAsyncDisposable, IDeviceThreadManage
{
ConcurrentList<VariableRuntime> saveVariableRuntimes = new();
deviceIds.ParallelForEach((deviceId) =>
{
// 查找具有指定设备ID的驱动程序对象
if (Drivers.TryRemove(deviceId, out var driver))
{
if (IsCollectChannel == true)
{
saveVariableRuntimes.AddRange(driver.IdVariableRuntimes.Where(a => a.Value.SaveValue && !a.Value.DynamicVariable).Select(a => a.Value));
}
}
{
var now = DateTime.Now;
// 查找具有指定设备ID的驱动程序对象
if (Drivers.TryRemove(deviceId, out var driver))
{
if (IsCollectChannel == true)
{
foreach (var a in driver.IdVariableRuntimes)
{
a.Value.SetValue(a.Value.Value, now, false);
if (a.Value.SaveValue && !a.Value.DynamicVariable)
{
saveVariableRuntimes.Add(a.Value);
}
}
}
}
if (DriverTasks.TryRemove(deviceId, out var task))
if (DriverTasks.TryRemove(deviceId, out var task))
{
task.Stop();
}