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

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