BatchBlock<T> Klasse

Definition

Stellt einen Datenflussblock bereit, der Eingaben in Arrays stapelt.

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)

Typparameter

T

Gibt den Datentyp an, der in Batches eingefügt werden soll.

Vererbung
BatchBlock<T>
Implementiert

Hinweise

Note

Die TPL Dataflow Library (der System.Threading.Tasks.Dataflow Namespace) wird nicht mit .NET verteilt. Um den System.Threading.Tasks.Dataflow Namespace in Visual Studio zu installieren, öffnen Sie Ihr Projekt, wählen Sie "NuGet-Pakete verwalten " im Menü "Projekt " aus, und suchen Sie online nach dem System.Threading.Tasks.Dataflow Paket. Führen Sie alternativ das .NET Core CLI aus, um es zu installieren, indem Sie dotnet add package System.Threading.Tasks.Dataflow ausführen.

Konstruktoren

Name Beschreibung
BatchBlock<T>(Int32, GroupingDataflowBlockOptions)

Initialisiert ein neues BatchBlock<T> mit der angegebenen Batchgröße, der degressierenden Option und den Blockoptionen.

BatchBlock<T>(Int32)

Initialisiert ein neues BatchBlock<T> mit der angegebenen Batchgröße.

Eigenschaften

Name Beschreibung
BatchSize

Ruft die Größe der von diesem BatchBlock<T>generierten Batches ab.

Completion

Ruft einen Task , der den asynchronen Vorgang und den Abschluss des Datenflussblocks darstellt.

OutputCount

Ruft die Anzahl der Ausgabeelemente ab, die von diesem Block empfangen werden können.

Methoden

Name Beschreibung
Complete()

Signalisiert, IDataflowBlock dass sie weder mehr Nachrichten akzeptieren noch mehr nachrichten produzieren sollte, noch mehr verschobene Nachrichten verbrauchen.

Equals(Object)

Bestimmt, ob das angegebene Objekt dem aktuellen Objekt entspricht.

(Geerbt von Object)
GetHashCode()

Dient als Standardhashfunktion.

(Geerbt von Object)
GetType()

Ruft die Type der aktuellen Instanz ab.

(Geerbt von Object)
LinkTo(ITargetBlock<T[]>, DataflowLinkOptions)

Verknüpft den ISourceBlock<TOutput> angegebenen ITargetBlock<TInput> Wert.

MemberwiseClone()

Erstellt eine flache Kopie der aktuellen Object.

(Geerbt von Object)
ToString()

Gibt eine Zeichenfolge zurück, die den formatierten Namen dieser IDataflowBlock Instanz darstellt.

TriggerBatch()

Löst das BatchBlock<T> Auslösen eines Batchvorgangs aus, auch wenn die Anzahl der aktuell in die Warteschlange gestellten oder verschobenen Elemente kleiner ist als die BatchSize.

TryReceive(Predicate<T[]>, T[])

Versucht, synchron ein verfügbares Ausgabeelement von der IReceivableSourceBlock<TOutput>.

TryReceiveAll(IList<T[]>)

Versucht, alle verfügbaren Elemente synchron von der IReceivableSourceBlock<TOutput>.

Explizite Schnittstellenimplementierungen

Name Beschreibung
IDataflowBlock.Fault(Exception)

Bewirkt, dass der IDataflowBlock Vorgang in einem Faulted Zustand abgeschlossen ist.

ISourceBlock<T[]>.ConsumeMessage(DataflowMessageHeader, ITargetBlock<T[]>, Boolean)

Wird von einer verknüpften aufgerufen ITargetBlock<TInput> , um eine DataflowMessageHeader zuvor angebotene ISourceBlock<TOutput> Nutzung zu akzeptieren und zu nutzen.

ISourceBlock<T[]>.ReleaseReservation(DataflowMessageHeader, ITargetBlock<T[]>)

Wird von einem Verknüpften ITargetBlock<TInput> aufgerufen, um eine zuvor reservierte DataflowMessageHeader Version dieses ISourceBlock<TOutput>Vorgangs freizugeben.

ISourceBlock<T[]>.ReserveMessage(DataflowMessageHeader, ITargetBlock<T[]>)

Aufgerufen von einem verknüpften ITargetBlock<TInput> , um ein zuvor angebotenes DataflowMessageHeader Angebot zu ISourceBlock<TOutput>reservieren.

ITargetBlock<T>.OfferMessage(DataflowMessageHeader, T, ISourceBlock<T>, Boolean)

Bietet dem Ziel die ITargetBlock<TInput>Möglichkeit, die Nachricht zu nutzen oder zu verschieben.

Erweiterungsmethoden

Name Beschreibung
AsObservable<TOutput>(ISourceBlock<TOutput>)

Erstellt eine neue IObservable<T> Abstraktion über dem ISourceBlock<TOutput>.

AsObserver<TInput>(ITargetBlock<TInput>)

Erstellt eine neue IObserver<T> Abstraktion über dem ITargetBlock<TInput>.

LinkTo<TOutput>(ISourceBlock<TOutput>, ITargetBlock<TOutput>, DataflowLinkOptions, Predicate<TOutput>)

Verknüpft den ISourceBlock<TOutput> angegebenen Filter mit dem angegebenen ITargetBlock<TInput> Filter.

LinkTo<TOutput>(ISourceBlock<TOutput>, ITargetBlock<TOutput>, Predicate<TOutput>)

Verknüpft den ISourceBlock<TOutput> angegebenen Filter mit dem angegebenen ITargetBlock<TInput> Filter.

LinkTo<TOutput>(ISourceBlock<TOutput>, ITargetBlock<TOutput>)

Verknüpft den ISourceBlock<TOutput> angegebenen ITargetBlock<TInput>Wert.

OutputAvailableAsync<TOutput>(ISourceBlock<TOutput>, CancellationToken)

Stellt eine Bereit Task<TResult> , die die Quelle asynchron auf die verfügbare Ausgabe überwacht.

OutputAvailableAsync<TOutput>(ISourceBlock<TOutput>)

Stellt eine Bereit Task<TResult> , die die Quelle asynchron auf die verfügbare Ausgabe überwacht.

Post<TInput>(ITargetBlock<TInput>, TInput)

Stellt ein Element in das ITargetBlock<TInput>.

Receive<TOutput>(ISourceBlock<TOutput>, CancellationToken)

Empfängt synchron einen Wert aus einer angegebenen Quelle und stellt ein Token zum Abbrechen des Vorgangs bereit.

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

Empfängt synchron einen Wert aus einer angegebenen Quelle und stellt ein Token bereit, um den Vorgang abzubrechen und ein optionales Timeoutintervall zu beobachten.

Receive<TOutput>(ISourceBlock<TOutput>, TimeSpan)

Empfängt synchron einen Wert aus einer angegebenen Quelle, wobei ein optionaler Timeoutzeitraum beobachtet wird.

Receive<TOutput>(ISourceBlock<TOutput>)

Empfängt synchron einen Wert aus einer angegebenen Quelle.

ReceiveAllAsync<TOutput>(IReceivableSourceBlock<TOutput>, CancellationToken)

Erstellt eine IAsyncEnumerable<T> , die das Empfangen aller Daten aus der Quelle ermöglicht.

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

Empfängt asynchron einen Wert aus einer angegebenen Quelle und stellt ein Token zum Abbrechen des Vorgangs bereit.

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

Empfängt asynchron einen Wert aus einer angegebenen Quelle und stellt ein Token bereit, um den Vorgang abzubrechen und ein optionales Timeoutintervall zu beobachten.

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

Empfängt asynchron einen Wert aus einer angegebenen Quelle, wobei ein optionaler Timeoutzeitraum beobachtet wird.

ReceiveAsync<TOutput>(ISourceBlock<TOutput>)

Empfängt asynchron einen Wert aus einer angegebenen Quelle.

SendAsync<TInput>(ITargetBlock<TInput>, TInput, CancellationToken)

Bietet asynchron eine Nachricht an den Zielnachrichtenblock, sodass eine Verschiebung möglich ist.

SendAsync<TInput>(ITargetBlock<TInput>, TInput)

Bietet asynchron eine Nachricht an den Zielnachrichtenblock, sodass eine Verschiebung möglich ist.

TryReceive<TOutput>(IReceivableSourceBlock<TOutput>, TOutput)

Versucht, ein Element synchron von der ISourceBlock<TOutput>.

Gilt für: