Get the value with the largest timestamp for a data stream.
OSIsoft.AFSDK (in OSIsoft.AFSDK.dll) Version: 126.96.36.199
public Task<AFValue> EndOfStreamAsync(
CancellationToken cancellationToken = null
Public Function EndOfStreamAsync (
desiredUOM As UOM,
Optional cancellationToken As CancellationToken = Nothing
) As Task(Of AFValue)
Dim instance As AFData
Dim desiredUOM As UOM
Dim cancellationToken As CancellationToken
Dim returnValue As Task(Of AFValue)
returnValue = instance.EndOfStreamAsync(desiredUOM,
CancellationToken cancellationToken = nullptr
member EndOfStreamAsync :
desiredUOM : UOM *
?cancellationToken : CancellationToken
let _cancellationToken = defaultArg cancellationToken null
- 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
- 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.
Returns a task whose result is the AFValue
for the attribute. If
returned by the data reference is
, then the returned value is converted to the proper UOM and Type.
The timestamp of the value will indicate the time of the last recorded event. In the case of
calculation based data references, it will normally indicate the latest input value's
Asynchronous methods throw AggregateException on failure which will contain one or
more exceptions containing the failure.
| Notes to Callers|
This method, property, or class is only available in the .NET 4 version of the SDK.
| Security Note|
You must have ReadData security rights to
read a data value.
| Notes to Callers|
This call might use a background task to complete some of its work. See the
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).
AFSDKSupported in: 2.10.5, 2.10, 2.9.5, 2.9, 2.8.5, 2.8