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>)

Source:
DataflowBlock.cs
Source:
DataflowBlock.cs
Source:
DataflowBlock.cs

异步接收来自指定源的值。

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)

Source:
DataflowBlock.cs
Source:
DataflowBlock.cs
Source:
DataflowBlock.cs

异步从指定的数据源中接收值并提供标记来取消操作。

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)

Source:
DataflowBlock.cs
Source:
DataflowBlock.cs
Source:
DataflowBlock.cs

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

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 毫秒的负数,而 -1 表示无限期超时期限。

- 或 -

timeout 大于 Int32.MaxValue

适用于

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

Source:
DataflowBlock.cs
Source:
DataflowBlock.cs
Source:
DataflowBlock.cs

异步从指定的数据源中接收值,提供标记以取消操作并观察可选的超时间隔。

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 毫秒的负数,而 -1 表示无限期超时期限。

- 或 -

timeout 大于 Int32.MaxValue

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

适用于