DataflowBlock.ReceiveAsync 方法

定义

重载

名称 说明
ReceiveAsync<TOutput>(ISourceBlock<TOutput>)

从指定源异步接收值。

ReceiveAsync<TOutput>(ISourceBlock<TOutput>, CancellationToken)

从指定源异步接收值,并提供用于取消操作的令牌。

ReceiveAsync<TOutput>(ISourceBlock<TOutput>, TimeSpan)

从指定源异步接收值,观察可选的超时期限。

ReceiveAsync<TOutput>(ISourceBlock<TOutput>, TimeSpan, CancellationToken)

从指定源异步接收值,提供一个令牌来取消操作并观察可选的超时间隔。

ReceiveAsync<TOutput>(ISourceBlock<TOutput>)

从指定源异步接收值。

public:
generic <typename TOutput>
[System::Runtime::CompilerServices::Extension]
 static System::Threading::Tasks::Task<TOutput> ^ ReceiveAsync(System::Threading::Tasks::Dataflow::ISourceBlock<TOutput> ^ source);
public static System.Threading.Tasks.Task<TOutput> ReceiveAsync<TOutput>(this System.Threading.Tasks.Dataflow.ISourceBlock<TOutput> source);
static member ReceiveAsync : System.Threading.Tasks.Dataflow.ISourceBlock<'Output> -> System.Threading.Tasks.Task<'Output>
<Extension()>
Public Function ReceiveAsync(Of TOutput) (source As ISourceBlock(Of TOutput)) As Task(Of TOutput)

类型参数

TOutput

源中包含的数据类型。

参数

source
ISourceBlock<TOutput>

从中接收值的源。

返回

Task<TOutput>

表示异步接收操作的任务。 从源成功接收项值时,返回的任务已完成,并 Result 返回接收的值。 如果由于源为空且已完成而无法检索项值, InvalidOperationException 则会在返回的任务中引发异常。

例外

sourcenull

适用于

ReceiveAsync<TOutput>(ISourceBlock<TOutput>, CancellationToken)

从指定源异步接收值,并提供用于取消操作的令牌。

public:
generic <typename TOutput>
[System::Runtime::CompilerServices::Extension]
 static System::Threading::Tasks::Task<TOutput> ^ ReceiveAsync(System::Threading::Tasks::Dataflow::ISourceBlock<TOutput> ^ source, System::Threading::CancellationToken cancellationToken);
public static System.Threading.Tasks.Task<TOutput> ReceiveAsync<TOutput>(this System.Threading.Tasks.Dataflow.ISourceBlock<TOutput> source, System.Threading.CancellationToken cancellationToken);
static member ReceiveAsync : System.Threading.Tasks.Dataflow.ISourceBlock<'Output> * System.Threading.CancellationToken -> System.Threading.Tasks.Task<'Output>
<Extension()>
Public Function ReceiveAsync(Of TOutput) (source As ISourceBlock(Of TOutput), cancellationToken As CancellationToken) As Task(Of TOutput)

类型参数

TOutput

指定源中包含的数据类型。

参数

source
ISourceBlock<TOutput>

从中接收值的源。

cancellationToken
CancellationToken

用于取消接收操作的令牌。

返回

Task<TOutput>

表示异步接收操作的任务。 从源成功接收值后,返回的任务将完成,并 Result 返回该值。 如果由于请求取消而无法检索值,则返回的任务将被取消。 如果由于源为空且已完成而无法检索该值, InvalidOperationException 则会在返回的任务中引发异常。

例外

sourcenull

取消令牌已取消。 此异常存储在返回的任务中。

适用于

ReceiveAsync<TOutput>(ISourceBlock<TOutput>, TimeSpan)

从指定源异步接收值,观察可选的超时期限。

public:
generic <typename TOutput>
[System::Runtime::CompilerServices::Extension]
 static System::Threading::Tasks::Task<TOutput> ^ ReceiveAsync(System::Threading::Tasks::Dataflow::ISourceBlock<TOutput> ^ source, TimeSpan timeout);
public static System.Threading.Tasks.Task<TOutput> ReceiveAsync<TOutput>(this System.Threading.Tasks.Dataflow.ISourceBlock<TOutput> source, TimeSpan timeout);
static member ReceiveAsync : System.Threading.Tasks.Dataflow.ISourceBlock<'Output> * TimeSpan -> System.Threading.Tasks.Task<'Output>
<Extension()>
Public Function ReceiveAsync(Of TOutput) (source As ISourceBlock(Of TOutput), timeout As TimeSpan) As Task(Of TOutput)

类型参数

TOutput

源中包含的数据类型。

参数

source
ISourceBlock<TOutput>

从中接收值的源。

timeout
TimeSpan

等待同步操作完成的最大时间间隔(以毫秒为单位),或表示无限期等待 -1 毫秒的时间间隔。

返回

Task<TOutput>

表示异步接收操作的任务。 从源成功接收值后,返回的任务将完成,并 Result 返回该值。 如果由于超时过期而无法检索值,则返回的任务将被取消。 如果由于源为空且已完成而无法检索该值, InvalidOperationException 则会在返回的任务中引发异常。

例外

sourcenull

timeout 是非 -1 毫秒的负数,表示无限超时时间段。

-或-

timeout 大于 Int32.MaxValue

适用于

ReceiveAsync<TOutput>(ISourceBlock<TOutput>, TimeSpan, CancellationToken)

从指定源异步接收值,提供一个令牌来取消操作并观察可选的超时间隔。

public:
generic <typename TOutput>
[System::Runtime::CompilerServices::Extension]
 static System::Threading::Tasks::Task<TOutput> ^ ReceiveAsync(System::Threading::Tasks::Dataflow::ISourceBlock<TOutput> ^ source, TimeSpan timeout, System::Threading::CancellationToken cancellationToken);
public static System.Threading.Tasks.Task<TOutput> ReceiveAsync<TOutput>(this System.Threading.Tasks.Dataflow.ISourceBlock<TOutput> source, TimeSpan timeout, System.Threading.CancellationToken cancellationToken);
static member ReceiveAsync : System.Threading.Tasks.Dataflow.ISourceBlock<'Output> * TimeSpan * System.Threading.CancellationToken -> System.Threading.Tasks.Task<'Output>
<Extension()>
Public Function ReceiveAsync(Of TOutput) (source As ISourceBlock(Of TOutput), timeout As TimeSpan, cancellationToken As CancellationToken) As Task(Of TOutput)

类型参数

TOutput

源中包含的数据类型。

参数

source
ISourceBlock<TOutput>

从中接收值的源。

timeout
TimeSpan

等待同步操作完成的最大时间间隔(以毫秒为单位),或表示无限期等待 -1 毫秒的时间间隔。

cancellationToken
CancellationToken

可用于取消接收操作的令牌。

返回

Task<TOutput>

表示异步接收操作的任务。 从源成功接收值后,返回的任务将完成,并 Result 返回该值。 如果由于请求超时或取消而无法检索值,则返回的任务将被取消。 如果由于源为空且已完成而无法检索该值, InvalidOperationException 则会在返回的任务中引发异常。

例外

sourcenull

timeout 是非 -1 毫秒的负数,表示无限超时时间段。

-或-

timeout 大于 Int32.MaxValue

取消令牌已取消。 此异常存储在返回的任务中。

适用于