diff --git a/src/ZB.MOM.WW.OtOpcUa.Server/OpcUa/DriverNodeManager.cs b/src/ZB.MOM.WW.OtOpcUa.Server/OpcUa/DriverNodeManager.cs index 06ab659..8aa2d32 100644 --- a/src/ZB.MOM.WW.OtOpcUa.Server/OpcUa/DriverNodeManager.cs +++ b/src/ZB.MOM.WW.OtOpcUa.Server/OpcUa/DriverNodeManager.cs @@ -484,12 +484,16 @@ public sealed class DriverNodeManager : CustomNodeManager2, IAddressSpaceBuilder try { - var driverResult = History.ReadRawAsync( - fullRef, - details.StartTime, - details.EndTime, - details.NumValuesPerNode, - CancellationToken.None).GetAwaiter().GetResult(); + var driverResult = _invoker.ExecuteAsync( + DriverCapability.HistoryRead, + _driver.DriverInstanceId, + async ct => await History.ReadRawAsync( + fullRef, + details.StartTime, + details.EndTime, + details.NumValuesPerNode, + ct).ConfigureAwait(false), + CancellationToken.None).AsTask().GetAwaiter().GetResult(); WriteResult(results, errors, i, StatusCodes.Good, BuildHistoryData(driverResult.Samples), driverResult.ContinuationPoint); @@ -544,13 +548,17 @@ public sealed class DriverNodeManager : CustomNodeManager2, IAddressSpaceBuilder try { - var driverResult = History.ReadProcessedAsync( - fullRef, - details.StartTime, - details.EndTime, - interval, - aggregate.Value, - CancellationToken.None).GetAwaiter().GetResult(); + var driverResult = _invoker.ExecuteAsync( + DriverCapability.HistoryRead, + _driver.DriverInstanceId, + async ct => await History.ReadProcessedAsync( + fullRef, + details.StartTime, + details.EndTime, + interval, + aggregate.Value, + ct).ConfigureAwait(false), + CancellationToken.None).AsTask().GetAwaiter().GetResult(); WriteResult(results, errors, i, StatusCodes.Good, BuildHistoryData(driverResult.Samples), driverResult.ContinuationPoint); @@ -597,8 +605,11 @@ public sealed class DriverNodeManager : CustomNodeManager2, IAddressSpaceBuilder try { - var driverResult = History.ReadAtTimeAsync( - fullRef, requestedTimes, CancellationToken.None).GetAwaiter().GetResult(); + var driverResult = _invoker.ExecuteAsync( + DriverCapability.HistoryRead, + _driver.DriverInstanceId, + async ct => await History.ReadAtTimeAsync(fullRef, requestedTimes, ct).ConfigureAwait(false), + CancellationToken.None).AsTask().GetAwaiter().GetResult(); WriteResult(results, errors, i, StatusCodes.Good, BuildHistoryData(driverResult.Samples), driverResult.ContinuationPoint); @@ -651,12 +662,16 @@ public sealed class DriverNodeManager : CustomNodeManager2, IAddressSpaceBuilder try { - var driverResult = History.ReadEventsAsync( - sourceName: fullRef, - startUtc: details.StartTime, - endUtc: details.EndTime, - maxEvents: maxEvents, - cancellationToken: CancellationToken.None).GetAwaiter().GetResult(); + var driverResult = _invoker.ExecuteAsync( + DriverCapability.HistoryRead, + _driver.DriverInstanceId, + async ct => await History.ReadEventsAsync( + sourceName: fullRef, + startUtc: details.StartTime, + endUtc: details.EndTime, + maxEvents: maxEvents, + cancellationToken: ct).ConfigureAwait(false), + CancellationToken.None).AsTask().GetAwaiter().GetResult(); WriteResult(results, errors, i, StatusCodes.Good, BuildHistoryEvent(driverResult.Events), driverResult.ContinuationPoint);