Sdílet prostřednictvím


BatchBlock<T> Třída

Definice

Poskytuje blok toku dat, který dávkuje vstupy do polí.

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)

Parametry typu

T

Určuje typ dat v dávkách.

Dědičnost
BatchBlock<T>
Implementuje

Poznámky

Poznámka

Knihovna toku dat TPL (obor názvů) se s .NET nedistribuuje System.Threading.Tasks.Dataflow . Pokud chcete nainstalovat System.Threading.Tasks.Dataflow obor názvů v sadě Visual Studio, otevřete projekt, v nabídce Projekt zvolte Spravovat balíčky NuGet a vyhledejte balíček onlineSystem.Threading.Tasks.Dataflow. Pokud ho chcete nainstalovat pomocí rozhraní příkazového řádku .NET Core, spusťte příkaz dotnet add package System.Threading.Tasks.Dataflow.

Konstruktory

BatchBlock<T>(Int32)

Inicializuje nový BatchBlock<T> se zadanou velikostí dávky.

BatchBlock<T>(Int32, GroupingDataflowBlockOptions)

Inicializuje nový BatchBlock<T> se zadanou velikostí dávky, možností odmítnutí a možnostmi blokování.

Vlastnosti

BatchSize

Získá velikost dávek vygenerovaných tímto BatchBlock<T>.

Completion

Získá, Task který představuje asynchronní operaci a dokončení bloku toku dat.

OutputCount

Získá počet výstupních položek, které jsou k dispozici pro přijetí z tohoto bloku.

Metody

Complete()

Signalizuje, IDataflowBlock že by neměl přijímat ani vytvářet žádné další zprávy ani přijímat další odložené zprávy.

Equals(Object)

Určí, zda se zadaný objekt rovná aktuálnímu objektu.

(Zděděno od Object)
GetHashCode()

Slouží jako výchozí hashovací funkce.

(Zděděno od Object)
GetType()

Získá aktuální Type instanci.

(Zděděno od Object)
LinkTo(ITargetBlock<T[]>, DataflowLinkOptions)

Prováže parametr ISourceBlock<TOutput> se zadaným ITargetBlock<TInput> parametrem .

MemberwiseClone()

Vytvoří mělkou kopii aktuálního Objectsouboru .

(Zděděno od Object)
ToString()

Vrátí řetězec, který představuje formátovaný název této IDataflowBlock instance.

TriggerBatch()

BatchBlock<T> Aktivuje operaci dávkování i v případě, že počet aktuálně zařazených nebo odložených položek ve frontě je menší než BatchSizehodnota .

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

Pokusí se synchronně přijmout dostupnou výstupní položku z objektu IReceivableSourceBlock<TOutput>.

TryReceiveAll(IList<T[]>)

Pokusí se synchronně přijmout všechny dostupné položky z .IReceivableSourceBlock<TOutput>

Explicitní implementace rozhraní

IDataflowBlock.Fault(Exception)

Způsobí dokončení ve IDataflowBlockFaulted stavu.

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

Volá se propojeným ITargetBlock<TInput> uživatelem, který přijímá a využívá dříve nabízenou DataflowMessageHeader službu ISourceBlock<TOutput> .

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

Volá se odkazem ITargetBlock<TInput> na vydání dříve rezervovaného DataflowMessageHeader tímto ISourceBlock<TOutput>.

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

Volá propojený ITargetBlock<TInput> , aby si rezervoval dříve nabízený DataflowMessageHeader tento ISourceBlock<TOutput>.

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

Nabídne zprávu do objektu ITargetBlock<TInput>, který dává cíli příležitost zprávu spotřebovat nebo odložit.

Metody rozšíření

AsObservable<TOutput>(ISourceBlock<TOutput>)

Vytvoří novou IObservable<T> abstrakci pro ISourceBlock<TOutput>.

AsObserver<TInput>(ITargetBlock<TInput>)

Vytvoří novou IObserver<T> abstrakci pro ITargetBlock<TInput>.

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

Prováže parametr ISourceBlock<TOutput> se zadaným ITargetBlock<TInput>parametrem .

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

Propojení s ISourceBlock<TOutput> zadaným ITargetBlock<TInput> filtrem.

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

Propojení s ISourceBlock<TOutput> zadaným ITargetBlock<TInput> filtrem.

OutputAvailableAsync<TOutput>(ISourceBlock<TOutput>)

Poskytuje asynchronně Task<TResult> monitoruje zdroj pro dostupný výstup.

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

Poskytuje asynchronně Task<TResult> monitoruje zdroj pro dostupný výstup.

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

Publikuje položku do .ITargetBlock<TInput>

Receive<TOutput>(ISourceBlock<TOutput>)

Synchronně přijímá hodnotu ze zadaného zdroje.

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

Synchronně přijme hodnotu ze zadaného zdroje a poskytne token pro zrušení operace.

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

Synchronně přijímá hodnotu z zadaného zdroje a sleduje volitelné období časového limitu.

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

Synchronně přijímá hodnotu z zadaného zdroje, poskytuje token pro zrušení operace a sleduje volitelný interval časového limitu.

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

Vytvoří objekt IAsyncEnumerable<T> , který umožňuje přijímat všechna data ze zdroje.

ReceiveAsync<TOutput>(ISourceBlock<TOutput>)

Asynchronně přijímá hodnotu ze zadaného zdroje.

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

Asynchronně přijme hodnotu ze zadaného zdroje a poskytne token pro zrušení operace.

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

Asynchronně přijímá hodnotu z zadaného zdroje, přičemž sleduje volitelné období časového limitu.

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

Asynchronně obdrží hodnotu ze zadaného zdroje, poskytuje token pro zrušení operace a sleduje volitelný interval časového limitu.

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

Asynchronně nabídne zprávu cílovému bloku zpráv, což umožňuje odložení.

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

Asynchronně nabídne zprávu cílovému bloku zpráv, což umožňuje odložení.

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

Pokusí se synchronně přijmout položku z objektu ISourceBlock<TOutput>.

Platí pro