System.Threading.Tasks.Dataflow Namespace

El espacio de nombres System.Threading.Tasks.Dataflow proporciona un modelo de programación basado en actores que admite el paso de mensajes en proceso para el flujo de datos general y las tareas de canalización. The System.Threading.Tasks.Dataflow namespace provides an actor-based programming model that supports in-process message passing for coarse-grained dataflow and pipelining tasks.

Clases

ActionBlock<TInput>

Proporciona un bloque de flujo de datos que invoca un delegado proporcionado de Action<T> para cada elemento de datos recibido.Provides a dataflow block that invokes a provided Action<T> delegate for every data element received.

BatchBlock<T>

Proporciona un bloque de flujo de datos que procesa las entradas en las matrices por lotes.Provides a dataflow block that batches inputs into arrays.

BatchedJoinBlock<T1,T2>

Proporciona un bloque de flujo de datos que procesa por lotes un número especificado de entradas de tipos potencialmente distintos que se suministran a uno o más de sus destinos.Provides a dataflow block that batches a specified number of inputs of potentially differing types provided to one or more of its targets.

BatchedJoinBlock<T1,T2,T3>

Proporciona un bloque de flujo de datos que procesa por lotes un número especificado de entradas de tipos potencialmente distintos proporcionados a uno o más de sus destinos.Provides a dataflow block that batches a specified number of inputs of potentially differing types provided to one or more of its targets.

BroadcastBlock<T>

Proporciona un búfer para almacenar a lo sumo un elemento cada vez, sobrescribiendo cada mensaje con el siguiente a medida que llegan.Provides a buffer for storing at most one element at time, overwriting each message with the next as it arrives.

BufferBlock<T>

Proporciona un búfer para almacenar datos de un Dataflow.Provides a buffer for storing data for a Dataflow.

DataflowBlock

Proporciona un conjunto de métodos estáticos (Shared en Visual Basic) para que funcionen con bloques de flujo de datos.Provides a set of static (Shared in Visual Basic) methods for working with dataflow blocks.

DataflowBlockOptions

Proporciona las opciones usadas para configurar el procesamiento que realizan los bloques de flujo de datos.Provides options used to configure the processing performed by dataflow blocks.

DataflowLinkOptions

Proporciona las opciones usadas para configurar un vínculo entre bloques de flujo de datos.Provides options used to configure a link between dataflow blocks.

ExecutionDataflowBlockOptions

Proporciona las opciones utilizadas para configurar el procesamiento realizado por los bloques de flujo de datos que procesan cada mensaje mediante la invocación de un delegado proporcionado por el usuario.Provides options used to configure the processing performed by dataflow blocks that process each message through the invocation of a user-provided delegate. Estos son bloques de flujo de datos como ActionBlock<TInput> y TransformBlock<TInput,TOutput>.These are dataflow blocks such as ActionBlock<TInput> and TransformBlock<TInput,TOutput>.

GroupingDataflowBlockOptions

Proporciona las opciones utilizadas para configurar el procesamiento realizado por los bloques de flujo de datos que agrupan varios mensajes.Provides options used to configure the processing performed by dataflow blocks that group together multiple messages. Estos son bloques de flujo de datos como JoinBlock<T1,T2> y BatchBlock<T>.These are dataflow blocks such as JoinBlock<T1,T2> and BatchBlock<T>.

JoinBlock<T1,T2>

Proporciona un bloque de flujo de datos que combina varios orígenes de flujo de datos, no necesariamente del mismo tipo, donde se espera a que llegue un elemento de cada tipo antes de que todos se liberen de forma conjunta como una tupla que consta de un elemento por tipo.Provides a dataflow block that joins across multiple dataflow sources, not necessarily of the same type, waiting for one item to arrive for each type before they're all released together as a tuple consisting of one item per type.

JoinBlock<T1,T2,T3>

Proporciona un bloque de flujo de datos que combina varios orígenes de flujo de datos, que no son necesariamente del mismo tipo, donde se espera a que llegue un elemento de cada tipo antes de que todos queden libres de forma conjunta como una tupla que contiene un elemento por tipo.Provides a dataflow block that joins across multiple dataflow sources, which are not necessarily of the same type, waiting for one item to arrive for each type before they're all released together as a tuple that contains one item per type.

TransformBlock<TInput,TOutput>

Proporciona un bloque de flujo de datos que invoca un delegado proporcionado de Func<T,TResult> para cada elemento de datos recibido.Provides a dataflow block that invokes a provided Func<T,TResult> delegate for every data element received.

TransformManyBlock<TInput,TOutput>

Proporciona un bloque de flujo de datos que invoca un delegado proporcionado de Func<T,TResult> para cada elemento de datos recibido.Provides a dataflow block that invokes a provided Func<T,TResult> delegate for every data element received.

WriteOnceBlock<T>

Proporciona un búfer para recibir y almacenar a lo sumo un elemento en una red de bloques de flujo de datos.Provides a buffer for receiving and storing at most one element in a network of dataflow blocks.

Estructuras

DataflowMessageHeader

Proporciona un contenedor de atributos de datos para pasarlo entre los bloques de flujo de datos.Provides a container of data attributes for passing between dataflow blocks.

Interfaces

IDataflowBlock

Representa un bloque de flujo de datos.Represents a dataflow block.

IPropagatorBlock<TInput,TOutput>

Representa un bloque de flujo de datos que es tanto un destino como un origen de datos.Represents a dataflow block that is both a target for data and a source of data.

IReceivableSourceBlock<TOutput>

Representa un bloque de flujo de datos que admite la recepción de mensajes sin vincular.Represents a dataflow block that supports receiving messages without linking.

ISourceBlock<TOutput>

Representa un bloque de flujo de datos que es un origen de datos.Represents a dataflow block that is a source of data.

ITargetBlock<TInput>

Representa un bloque de flujo de datos que es un destino de datos.Represents a dataflow block that is a target for data.

Enumeraciones

DataflowMessageStatus

Representa el estado de un elemento DataflowMessageHeader cuando se pasa entre bloques de flujo de datos.Represents the status of a DataflowMessageHeader when passed between dataflow blocks.

Comentarios

Nota

La biblioteca de flujos de datos TPL (el espacio de nombres System.Threading.Tasks.Dataflow) no se distribuye con .NET.The TPL Dataflow Library (the System.Threading.Tasks.Dataflow namespace) is not distributed with .NET. Para instalar el espacio de nombres System.Threading.Tasks.Dataflow en Visual Studio, abra el proyecto, seleccione Administrar paquetes NuGet en el menú Proyecto y busque en línea el paquete System.Threading.Tasks.Dataflow.To install the System.Threading.Tasks.Dataflow namespace in Visual Studio, open your project, choose Manage NuGet Packages from the Project menu, and search online for the System.Threading.Tasks.Dataflow package. Como alternativa, para realizar la instalación con la CLI de .Net Core, ejecute dotnet add package System.Threading.Tasks.Dataflow.Alternatively, to install it using the .NET Core CLI, run dotnet add package System.Threading.Tasks.Dataflow.

Para más información, vea Flujo de datos (biblioteca TPL).For more information, see Dataflow.