System.Threading.Tasks.Dataflow 命名空间

提供一个基于角色的编程模型,该模型支持用于粗粒度数据流和管道任务的进程内消息传递。

ActionBlock<TInput>

提供数据流块,其调用为每个接收的数据提供的 Action<T> 委托。

BatchBlock<T>

提供将输入批处理到数组中的数据流块。

BatchedJoinBlock<T1,T2>

提供批处理指定数目输入的数据流块,这些输入为提供给目标的潜在不同的类型。

BatchedJoinBlock<T1,T2,T3>

提供批处理指定数目输入的数据流块,这些输入为提供给目标的潜在不同的类型。

BroadcastBlock<T>

提供缓冲区,用于一次存储最多一个元素,在每个消息抵达时覆盖每个消息。

BufferBlock<T>

数据流提供用于存储数据的缓冲区。

DataflowBlock

提供一组用于处理数据流块的静态方法(在 Visual Basic 中为共享方法)。

DataflowBlockOptions

提供选项,用于配置数据流块执行的处理。

DataflowLinkOptions

提供用于配置数据流块之间链接的选项。

ExecutionDataflowBlockOptions

提供选项,用于配置数据流块执行的处理,这些块通过调用用户提供的委托处理每条消息。 这些是 ActionBlock<TInput>TransformBlock<TInput,TOutput> 等数据流块。

GroupingDataflowBlockOptions

提供选项,用于配置数据流块执行的处理,这些块对多条消息分组。 这些是 JoinBlock<T1,T2>BatchBlock<T> 等数据流块。

JoinBlock<T1,T2>

提供一个数据流块,该块联接多个数据流源,这些数据流源并不一定属于相同类型,会等待每个类型的一个项目到达,然后才作为包含每个类型的项目的元组完全释放。

JoinBlock<T1,T2,T3>

提供一个数据流块,它联接多个数据流源,这些数据流源并不一定属于相同类型,会等待每个类型的一个项目到达,然后才作为包含每个类型的项目的元组释放。

TransformBlock<TInput,TOutput>

提供数据流块,其调用为每个接收的数据提供的 Func<T,TResult> 委托。

TransformManyBlock<TInput,TOutput>

提供数据流块,其调用为每个接收的数据提供的 Func<T,TResult> 委托。

WriteOnceBlock<T>

在数据流块网络中为接收和存储最多一个元素提供缓冲区。

结构

DataflowMessageHeader

提供用于在数据流块之间传递的数据特性的容器。

接口

IDataflowBlock

表示数据流块。

IPropagatorBlock<TInput,TOutput>

表示同时为数据的目标和源的数据流块。

IReceivableSourceBlock<TOutput>

表示数据流块,其支持在不链接的情况下接收消息。

ISourceBlock<TOutput>

表示作为数据源的数据流块。

ITargetBlock<TInput>

表示作为数据目标的数据流块。

枚举

DataflowMessageStatus

表示在数据流块间传递时 DataflowMessageHeader的状态。

注解

备注

TPL 数据流库(System.Threading.Tasks.Dataflow 命名空间)不随 .NET 一起分发。 若要在 Visual Studio 中安装 System.Threading.Tasks.Dataflow 命名空间,请打开项目,选择“项目”菜单中的“管理 NuGet 包”,再在线搜索 System.Threading.Tasks.Dataflow 包。 或者,若要使用 .NET Core CLI 进行安装,请运行 dotnet add package System.Threading.Tasks.Dataflow

有关详细信息,请参阅数据流