Freigeben über


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 Typ der Daten an, die in Batches abgelegt werden.

Vererbung
BatchBlock<T>
Implementiert

Hinweise

Hinweis

Die TPL-Datenflussbibliothek (System.Threading.Tasks.Dataflow-Namespace) wird nicht mit .NET ausgeliefert. Öffnen Sie zum Installieren des System.Threading.Tasks.Dataflow-Namespace in Visual Studio Ihr Projekt, wählen Sie im Menü Projekt die Option NuGet-Pakete verwalten aus, und suchen Sie online nach dem System.Threading.Tasks.Dataflow-Paket. Alternativ können Sie es mithilfe der .NET Core-CLI installieren und dazu dotnet add package System.Threading.Tasks.Dataflow ausführen.

Konstruktoren

BatchBlock<T>(Int32)

Initialisiert eine neue Instanz von BatchBlock<T> mit der angegebenen Batchgröße.

BatchBlock<T>(Int32, GroupingDataflowBlockOptions)

Initialisiert einen neuen BatchBlock<T> mit der angegebenen Batchgröße, der degressiven Option und den Blockoptionen.

Eigenschaften

BatchSize

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

Completion

Ruft ein Task ab, das den asynchronen Vorgang und die Beendigung des Datenflussblocks darstellt.

OutputCount

Ruft die Anzahl der Ausgabe-Elementen ab, die von diesem Block empfangen werden können.

Methoden

Complete()

Signalisiert IDataflowBlock, dass es keine Nachrichten mehr akzeptieren und keine produzieren und keine weiteren zurückgestellten Nachrichten verarbeiten soll.

Equals(Object)

Bestimmt, ob das angegebene Objekt gleich dem aktuellen Objekt ist.

(Geerbt von Object)
GetHashCode()

Fungiert als Standardhashfunktion.

(Geerbt von Object)
GetType()

Ruft den Type der aktuellen Instanz ab.

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

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

MemberwiseClone()

Erstellt eine flache Kopie des aktuellen Object.

(Geerbt von Object)
ToString()

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

TriggerBatch()

Startet BatchBlock<T>, um einen Batchvorgang zu initiieren, auch wenn die Anzahl der Elemente, die sich momentan in der Warteschlange befinden oder zurückgestellt wurden, kleiner ist als BatchSize.

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

Versucht, ein verfügbares Output-Element vonIReceivableSourceBlock<TOutput> synchron zu empfangen.

TryReceiveAll(IList<T[]>)

Versucht, alle verfügbaren Elemente aus IReceivableSourceBlock<TOutput> synchron zu empfangen.

Explizite Schnittstellenimplementierungen

IDataflowBlock.Fault(Exception)

Bewirkt, IDataflowBlock in einem Faulted Zustand auszuführen.

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

Wird von einem verknüpften ITargetBlock<TInput>-Objekt aufgerufen, um ein DataflowMessageHeader-Objekt zu akzeptieren und zu verarbeiten, das zuvor durch dieses ISourceBlock<TOutput> angeboten wurde.

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

Wird von einem verknüpften ITargetBlock<TInput>, um einen DataflowMessageHeader, der von diesem ISourceBlock<TOutput> zuvor reserviert wurde, freizugeben.

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

Wird von einem verknüpften ITargetBlock<TInput>, um einen DataflowMessageHeader, der von diesem ISourceBlock<TOutput> zuvor angeboten wurde, zu reservieren.

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

Bietet eine Meldung für ITargetBlock<TInput> an und gibt dem Ziel die Möglichkeit, die Nachricht zu verarbeiten oder zurückzustellen.

Erweiterungsmethoden

AsObservable<TOutput>(ISourceBlock<TOutput>)

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

AsObserver<TInput>(ITargetBlock<TInput>)

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

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

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

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

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

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

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

OutputAvailableAsync<TOutput>(ISourceBlock<TOutput>)

Stellt eine Task<TResult> bereit, die asynchron die Quelle für verfügbare Ausgabe überwacht.

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

Stellt eine Task<TResult> bereit, die asynchron die Quelle für verfügbare Ausgabe überwacht.

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

Fügt dem ITargetBlock<TInput> ein Element hinzu.

Receive<TOutput>(ISourceBlock<TOutput>)

Empfängt synchron einen Wert aus der angegebenen Quelle.

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

Erhält synchron einen Wert aus einer angegebenen Quelle und stellt ein Token bereit, um die Operation abzubrechen.

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

Empfängt synchron einen Wert aus einer angegebenen Quelle und beachtet ein optionales Timeout.

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

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

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

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

ReceiveAsync<TOutput>(ISourceBlock<TOutput>)

Empfängt asynchron einen Wert aus der angegebenen Quelle.

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

Erhält asynchron einen Wert aus einer angegebenen Quelle und stellt ein Token bereit, um die Operation abzubrechen.

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

Empfängt asynchron einen Wert aus einer angegebenen Quelle und beachtet ein optionales Timeout.

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

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

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

Gewährt dem Zielmeldungsblock asynchron eine Meldung an und ermöglicht einen Aufschub.

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

Gewährt dem Zielmeldungsblock asynchron eine Meldung an und ermöglicht einen Aufschub.

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

Versucht, ein Element von ISourceBlock<TOutput> synchron zu empfangen.

Gilt für: