Aracılığıyla paylaş


BatchBlock<T> Sınıf

Tanım

Girişleri dizilere bölen bir veri akışı bloğu sağlar.

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)

Tür Parametreleri

T

Toplu işlemlere konulacak veri türünü belirtir.

Devralma
BatchBlock<T>
Uygulamalar

Açıklamalar

Not

TPL Veri Akışı Kitaplığı ( System.Threading.Tasks.Dataflow ad alanı) .NET ile dağıtılmaz. Ad alanını System.Threading.Tasks.Dataflow Visual Studio'ya yüklemek için projenizi açın, Projemenüsünden NuGet Paketlerini Yönet'i seçin ve çevrimiçi ortamda System.Threading.Tasks.Dataflow paketi arayın. Alternatif olarak, .NET Core CLI kullanarak yüklemek için komutunu çalıştırın dotnet add package System.Threading.Tasks.Dataflow.

Oluşturucular

BatchBlock<T>(Int32)

Belirtilen toplu iş boyutuyla yeni BatchBlock<T> bir başlatır.

BatchBlock<T>(Int32, GroupingDataflowBlockOptions)

Belirtilen toplu iş boyutu, azalan seçenek ve blok seçenekleriyle yeni BatchBlock<T> bir başlatır.

Özellikler

BatchSize

Bu BatchBlock<T>tarafından oluşturulan toplu iş boyutlarını alır.

Completion

Zaman uyumsuz işlemi ve veri akışı bloğunun tamamlanmasını temsil eden bir Task alır.

OutputCount

Bu bloktan alınabilecek çıkış öğelerinin sayısını alır.

Yöntemler

Complete()

IDataflowBlock Kabul edilmemesi, daha fazla ileti üretilmemesi veya ertelenmiş iletilerin tüketilmemesi gerektiğine dair sinyaller.

Equals(Object)

Belirtilen nesnenin geçerli nesneye eşit olup olmadığını belirler.

(Devralındığı yer: Object)
GetHashCode()

Varsayılan karma işlevi işlevi görür.

(Devralındığı yer: Object)
GetType()

Type Geçerli örneğini alır.

(Devralındığı yer: Object)
LinkTo(ITargetBlock<T[]>, DataflowLinkOptions)

öğesini ISourceBlock<TOutput> belirtilen ITargetBlock<TInput> öğesine bağlar.

MemberwiseClone()

Geçerli Objectöğesinin sığ bir kopyasını oluşturur.

(Devralındığı yer: Object)
ToString()

Bu IDataflowBlock örneğin biçimlendirilmiş adını temsil eden bir dize döndürür.

TriggerBatch()

Şu anda kuyruğa alınan veya ertelenen öğelerin sayısı değerinden az BatchSizeolsa bile toplu işlem başlatmak için öğesini tetiklerBatchBlock<T>.

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

öğesinden IReceivableSourceBlock<TOutput>zaman uyumlu olarak kullanılabilir bir çıkış öğesi almaya çalışır.

TryReceiveAll(IList<T[]>)

öğesinden IReceivableSourceBlock<TOutput>tüm kullanılabilir öğeleri zaman uyumlu olarak almaya çalışır.

Belirtik Arabirim Kullanımları

IDataflowBlock.Fault(Exception)

durumunda IDataflowBlock tamamlanmasına Faulted neden olur.

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

Bu tarafından daha önce sunulan bir DataflowMessageHeader kabul etmek ve kullanmak için bağlı ITargetBlock<TInput> tarafından çağrılır ISourceBlock<TOutput> .

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

Daha önce bu tarafından ayrılmış DataflowMessageHeader bir sürümü yayınlamak için bir bağlı ITargetBlock<TInput> tarafından çağrılırISourceBlock<TOutput>.

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

Daha önce bu tarafından sunulan bir ayırmak için bağlı ITargetBlock<TInput> tarafından çağrılır DataflowMessageHeaderISourceBlock<TOutput>.

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

hedefine ITargetBlock<TInput>iletiyi kullanma veya erteleme fırsatı veren bir ileti sunar.

Uzantı Metotları

AsObservable<TOutput>(ISourceBlock<TOutput>)

üzerinde ISourceBlock<TOutput>yeni IObservable<T> bir soyutlama oluşturur.

AsObserver<TInput>(ITargetBlock<TInput>)

üzerinde ITargetBlock<TInput>yeni IObserver<T> bir soyutlama oluşturur.

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

öğesini ISourceBlock<TOutput> belirtilen ITargetBlock<TInput>öğesine bağlar.

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

ISourceBlock<TOutput> belirtilen filtreyi kullanarak öğesini belirtilene ITargetBlock<TInput> bağlar.

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

ISourceBlock<TOutput> belirtilen filtreyi kullanarak öğesini belirtilene ITargetBlock<TInput> bağlar.

OutputAvailableAsync<TOutput>(ISourceBlock<TOutput>)

Kaynağı kullanılabilir çıkış için zaman uyumsuz olarak izleyen bir Task<TResult> sağlar.

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

Kaynağı kullanılabilir çıkış için zaman uyumsuz olarak izleyen bir Task<TResult> sağlar.

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

Öğesine bir öğe postalar ITargetBlock<TInput>.

Receive<TOutput>(ISourceBlock<TOutput>)

Belirtilen kaynaktan zaman uyumlu olarak bir değer alır.

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

Belirtilen kaynaktan zaman uyumlu olarak bir değer alır ve işlemi iptal etmek için bir belirteç sağlar.

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

Belirli bir kaynaktan isteğe bağlı bir zaman aşımı süresini gözlemleyerek zaman uyumlu olarak bir değer alır.

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

Belirtilen kaynaktan zaman uyumlu olarak bir değer alır ve işlemi iptal etmek için bir belirteç sağlar ve isteğe bağlı bir zaman aşımı aralığını gözlemler.

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

Kaynaktan tüm verilerin alınmasını sağlayan bir IAsyncEnumerable<T> oluşturur.

ReceiveAsync<TOutput>(ISourceBlock<TOutput>)

Belirtilen kaynaktan zaman uyumsuz olarak bir değer alır.

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

Belirli bir kaynaktan zaman uyumsuz olarak bir değer alır ve işlemi iptal etmek için bir belirteç sağlar.

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

Belirli bir kaynaktan zaman uyumsuz olarak bir değer alır ve isteğe bağlı bir zaman aşımı süresini gözlemler.

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

Belirtilen kaynaktan zaman uyumsuz olarak bir değer alır ve işlemi iptal etmek için bir belirteç sağlar ve isteğe bağlı bir zaman aşımı aralığını gözlemler.

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

Zaman uyumsuz olarak hedef ileti bloğuna bir ileti seçerek ertelemeye olanak tanır.

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

Zaman uyumsuz olarak hedef ileti bloğuna bir ileti seçerek ertelemeye olanak tanır.

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

öğesinden ISourceBlock<TOutput>bir öğeyi zaman uyumlu olarak almaya çalışır.

Şunlara uygulanır