BatchBlock<T> Clase
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Proporciona un bloque de flujo de datos que agrupa por lotes entradas en matrices.
generic <typename T>
public ref class BatchBlock sealed : System::Threading::Tasks::Dataflow::IPropagatorBlock<T, cli::array <T> ^>, System::Threading::Tasks::Dataflow::IReceivableSourceBlock<cli::array <T> ^>, System::Threading::Tasks::Dataflow::ISourceBlock<cli::array <T> ^>, System::Threading::Tasks::Dataflow::ITargetBlock<T>
public sealed class BatchBlock<T> : System.Threading.Tasks.Dataflow.IPropagatorBlock<T,T[]>, System.Threading.Tasks.Dataflow.IReceivableSourceBlock<T[]>, System.Threading.Tasks.Dataflow.ISourceBlock<T[]>, System.Threading.Tasks.Dataflow.ITargetBlock<T>
type BatchBlock<'T> = class
interface IPropagatorBlock<'T, 'T[]>
interface ITargetBlock<'T>
interface IDataflowBlock
interface ISourceBlock<'T[]>
interface IReceivableSourceBlock<'T[]>
type BatchBlock<'T> = class
interface IDataflowBlock
interface IPropagatorBlock<'T, 'T[]>
interface ISourceBlock<'T[]>
interface ITargetBlock<'T>
interface IReceivableSourceBlock<'T[]>
Public NotInheritable Class BatchBlock(Of T)
Implements IPropagatorBlock(Of T, T()), IReceivableSourceBlock(Of T()), ISourceBlock(Of T()), ITargetBlock(Of T)
Parámetros de tipo
- T
Especifica el tipo de datos colocados en lotes.
- Herencia
-
BatchBlock<T>
- Implementaciones
Comentarios
Note
La biblioteca TPL Dataflow (el espacio de nombres System.Threading.Tasks.Dataflow) no se distribuye con .NET. Para instalar el System.Threading.Tasks.Dataflow espacio de nombres en Visual Studio, abra su proyecto, elija Administrar paquetes NuGet en el menú Proyecto y busque en línea el paquete System.Threading.Tasks.Dataflow. Como otra opción, para instalarlo mediante la CLI de .NET Core, ejecute dotnet add package System.Threading.Tasks.Dataflow.
Constructores
| Nombre | Description |
|---|---|
| BatchBlock<T>(Int32, GroupingDataflowBlockOptions) |
Inicializa un nuevo BatchBlock<T> con el tamaño de lote especificado, la opción de disminución y las opciones de bloqueo. |
| BatchBlock<T>(Int32) |
Inicializa un nuevo BatchBlock<T> con el tamaño de lote especificado. |
Propiedades
| Nombre | Description |
|---|---|
| BatchSize |
Obtiene el tamaño de los lotes generados por este BatchBlock<T>. |
| Completion |
Obtiene un Task objeto que representa la operación asincrónica y la finalización del bloque de flujo de datos. |
| OutputCount |
Obtiene el número de elementos de salida disponibles para recibirse de este bloque. |
Métodos
| Nombre | Description |
|---|---|
| Complete() |
Señala a que IDataflowBlock no debe aceptar ni producir más mensajes ni consumir más mensajes pospuestos. |
| Equals(Object) |
Determina si el objeto especificado es igual al objeto actual. (Heredado de Object) |
| GetHashCode() |
Actúa como función hash predeterminada. (Heredado de Object) |
| GetType() |
Obtiene el Type de la instancia actual. (Heredado de Object) |
| LinkTo(ITargetBlock<T[]>, DataflowLinkOptions) |
Vincula al ISourceBlock<TOutput> objeto especificado ITargetBlock<TInput> . |
| MemberwiseClone() |
Crea una copia superficial del Objectactual. (Heredado de Object) |
| ToString() |
Devuelve una cadena que representa el nombre con formato de esta IDataflowBlock instancia. |
| TriggerBatch() |
Desencadena para BatchBlock<T> iniciar una operación de procesamiento por lotes aunque el número de elementos actualmente en cola o pospuestos sea menor que .BatchSize |
| TryReceive(Predicate<T[]>, T[]) |
Intenta recibir de forma sincrónica un elemento de salida disponible de .IReceivableSourceBlock<TOutput> |
| TryReceiveAll(IList<T[]>) |
Intenta recibir de forma sincrónica todos los elementos disponibles de IReceivableSourceBlock<TOutput>. |
Implementaciones de interfaz explícitas
| Nombre | Description |
|---|---|
| IDataflowBlock.Fault(Exception) |
Hace que se IDataflowBlock complete en un Faulted estado . |
| ISourceBlock<T[]>.ConsumeMessage(DataflowMessageHeader, ITargetBlock<T[]>, Boolean) |
Llamado por un vinculado ITargetBlock<TInput> para aceptar y consumir un DataflowMessageHeader objeto previamente ofrecido por este ISourceBlock<TOutput> . |
| ISourceBlock<T[]>.ReleaseReservation(DataflowMessageHeader, ITargetBlock<T[]>) |
Llamado por un vinculado ITargetBlock<TInput> para liberar un objeto reservado DataflowMessageHeader previamente por este ISourceBlock<TOutput>. |
| ISourceBlock<T[]>.ReserveMessage(DataflowMessageHeader, ITargetBlock<T[]>) |
Llamado por un vinculado ITargetBlock<TInput> para reservar un objeto ofrecido DataflowMessageHeader anteriormente por este ISourceBlock<TOutput>. |
| ITargetBlock<T>.OfferMessage(DataflowMessageHeader, T, ISourceBlock<T>, Boolean) |
Ofrece un mensaje a , ITargetBlock<TInput>lo que proporciona al destino la oportunidad de consumir o posponer el mensaje. |
Métodos de extensión
| Nombre | Description |
|---|---|
| AsObservable<TOutput>(ISourceBlock<TOutput>) |
Crea una nueva IObservable<T> abstracción sobre .ISourceBlock<TOutput> |
| AsObserver<TInput>(ITargetBlock<TInput>) |
Crea una nueva IObserver<T> abstracción sobre .ITargetBlock<TInput> |
| LinkTo<TOutput>(ISourceBlock<TOutput>, ITargetBlock<TOutput>, DataflowLinkOptions, Predicate<TOutput>) |
ISourceBlock<TOutput> Vincula al especificado ITargetBlock<TInput> mediante el filtro especificado. |
| LinkTo<TOutput>(ISourceBlock<TOutput>, ITargetBlock<TOutput>, Predicate<TOutput>) |
ISourceBlock<TOutput> Vincula al especificado ITargetBlock<TInput> mediante el filtro especificado. |
| LinkTo<TOutput>(ISourceBlock<TOutput>, ITargetBlock<TOutput>) |
Vincula al ISourceBlock<TOutput> objeto especificado ITargetBlock<TInput>. |
| OutputAvailableAsync<TOutput>(ISourceBlock<TOutput>, CancellationToken) |
Proporciona un objeto Task<TResult> que supervisa de forma asincrónica el origen de la salida disponible. |
| OutputAvailableAsync<TOutput>(ISourceBlock<TOutput>) |
Proporciona un objeto Task<TResult> que supervisa de forma asincrónica el origen de la salida disponible. |
| Post<TInput>(ITargetBlock<TInput>, TInput) |
Publica un elemento en .ITargetBlock<TInput> |
| Receive<TOutput>(ISourceBlock<TOutput>, CancellationToken) |
Recibe sincrónicamente un valor de un origen especificado y proporciona un token para cancelar la operación. |
| Receive<TOutput>(ISourceBlock<TOutput>, TimeSpan, CancellationToken) |
Recibe sincrónicamente un valor de un origen especificado, proporcionando un token para cancelar la operación y observar un intervalo de tiempo de espera opcional. |
| Receive<TOutput>(ISourceBlock<TOutput>, TimeSpan) |
Recibe sincrónicamente un valor de un origen especificado, observando un período de tiempo de espera opcional. |
| Receive<TOutput>(ISourceBlock<TOutput>) |
Recibe sincrónicamente un valor de un origen especificado. |
| ReceiveAllAsync<TOutput>(IReceivableSourceBlock<TOutput>, CancellationToken) |
Crea un objeto IAsyncEnumerable<T> que permite recibir todos los datos del origen. |
| ReceiveAsync<TOutput>(ISourceBlock<TOutput>, CancellationToken) |
Recibe de forma asincrónica un valor de un origen especificado y proporciona un token para cancelar la operación. |
| ReceiveAsync<TOutput>(ISourceBlock<TOutput>, TimeSpan, CancellationToken) |
Recibe de forma asincrónica un valor de un origen especificado, lo que proporciona un token para cancelar la operación y observar un intervalo de tiempo de espera opcional. |
| ReceiveAsync<TOutput>(ISourceBlock<TOutput>, TimeSpan) |
Recibe de forma asincrónica un valor de un origen especificado, observando un período de tiempo de espera opcional. |
| ReceiveAsync<TOutput>(ISourceBlock<TOutput>) |
Recibe de forma asincrónica un valor de un origen especificado. |
| SendAsync<TInput>(ITargetBlock<TInput>, TInput, CancellationToken) |
Ofrece de forma asincrónica un mensaje al bloque de mensajes de destino, lo que permite posponer. |
| SendAsync<TInput>(ITargetBlock<TInput>, TInput) |
Ofrece de forma asincrónica un mensaje al bloque de mensajes de destino, lo que permite posponer. |
| TryReceive<TOutput>(IReceivableSourceBlock<TOutput>, TOutput) |
Intenta recibir de forma sincrónica un elemento de .ISourceBlock<TOutput> |