AFData.RecordedValuesAtTimesAsync Method
- Last UpdatedNov 18, 2025
- 4 minute read
- PI System
- AF SDK 2024 R2
- Developer
Retrieves recorded values at the specified times.
Namespace: OSIsoft.AF.Data
Assembly: OSIsoft.AFSDK (in OSIsoft.AFSDK.dll) Version: 3.1.1.1182
Syntax
public Task<AFValues> RecordedValuesAtTimesAsync( IList<AFTime> times, AFRetrievalMode mode, UOM desiredUOM, CancellationToken cancellationToken = default )
Public Function RecordedValuesAtTimesAsync ( times As IList(Of AFTime), mode As AFRetrievalMode, desiredUOM As UOM, Optional cancellationToken As CancellationToken = Nothing ) As Task(Of AFValues) Dim instance As AFData Dim times As IList(Of AFTime) Dim mode As AFRetrievalMode Dim desiredUOM As UOM Dim cancellationToken As CancellationToken Dim returnValue As Task(Of AFValues) returnValue = instance.RecordedValuesAtTimesAsync(times, mode, desiredUOM, cancellationToken)
public: Task<AFValues^>^ RecordedValuesAtTimesAsync( IList<AFTime>^ times, AFRetrievalMode mode, UOM^ desiredUOM, CancellationToken cancellationToken = CancellationToken() )
member RecordedValuesAtTimesAsync : times : IList<AFTime> * mode : AFRetrievalMode * desiredUOM : UOM * ?cancellationToken : CancellationToken (* Defaults: let _cancellationToken = defaultArg cancellationToken new CancellationToken() *) -> Task<AFValues>
Parameters
- times
- Type: System.Collections.GenericIListAFTime
List of timestamps at which to retrieve interpolated values - mode
- Type: OSIsoft.AF.DataAFRetrievalMode
The mode is used to determine the value to return when a value does not exist at the exact time specified. The value is taken from the AFRetrievalMode enumeration. - desiredUOM
- Type: OSIsoft.AF.UnitsOfMeasureUOM
The desired unit of measure for the returned value. If , then the value is returned in the unit of measure specified by the associated attribute's DefaultUOM property. - cancellationToken (Optional)
- Type: System.ThreadingCancellationToken
A cancellation token used to abort processing before completion. Passing the default CancellationToken.None will run to completion or until the PIConnectionInfo.OperationTimeOut period elapses.
Return Value
Type: TaskAFValuesReturns a task whose result is an AFValues collection with the recorded values at the specified times.
Exceptions
| Exception | Condition |
|---|---|
| AggregateException | Asynchronous methods throw AggregateException on failure which will contain one or more exceptions containing the failure. |
| ArgumentNullException | The times is . |
| ArgumentException | The times list must be monotonic. |
Remarks
| This method, property, or class is not available in the legacy .NET 3.5 version of the SDK. |
| You must have ReadData security rights to read a data value. |
| This call might use a background task to complete some of its work. See the Threading Overview for some matters to consider when execution transitions to another thread. |
| Asynchronous data calls in AF SDK attempt to do as much work as possible asynchronously. If no work can be done asynchronously, then the SupportedDataMethods will report that asynchronous calls are not supported. If an attribute uses a Formula or other calculated data reference has any input that supports asynchronous calls, then the attribute will support asynchronous calls. When making an asynchronous data call, input data will be acquired asynchronously when possible or synchronously otherwise. Data calls that require partitioning across versions will always fall back to synchronous calls. |
| Impersonation of AF SDK asynchronous calls relies on the .NET framework's built-in support for flowing execution context across asynchronous points. When making these calls while impersonating, the thread or runtime must be configured to propagate the impersonation across these asynchronous points (see the SecurityContext documentation for details). |