BatchBlock<T> Sınıf

Tanım

Girişleri diziler halinde toplu olarak işleyen 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 koyulan veri türünü belirtir.

Devralma
BatchBlock<T>
Uygulamalar

Açıklamalar

Note

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

Oluşturucular

Name Description
BatchBlock<T>(Int32, GroupingDataflowBlockOptions)

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

BatchBlock<T>(Int32)

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

Özellikler

Name Description
BatchSize

Bu BatchBlock<T>tarafından oluşturulan toplu işin boyutunu 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

Name Description
Complete()

IDataflowBlock daha fazla ileti kabul etmemesi veya üretmemesi ya da ertelenmiş iletileri kullanmaması 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()

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

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

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

MemberwiseClone()

Geçerli Objectbasit 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ınmış veya ertelenen öğelerin sayısı değerinden az BatchBlock<T>olsa bile toplu işlem başlatmak için öğesini tetiklerBatchSize.

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

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

TryReceiveAll(IList<T[]>)

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

Belirtik Arabirim Kullanımları

Name Description
IDataflowBlock.Fault(Exception)

öğesinin IDataflowBlock bir Faulted durumda tamamlanmasını neden olur.

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

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

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

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

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

Bu tarafından daha önce 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ı

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

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

AsObserver<TInput>(ITargetBlock<TInput>)

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

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

ISourceBlock<TOutput> belirtilen filtreyi kullanarak öğesini belirtilene ITargetBlock<TInput> 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>)

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

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

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

OutputAvailableAsync<TOutput>(ISourceBlock<TOutput>)

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>, 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, CancellationToken)

Belirtilen kaynaktan zaman uyumlu bir şekilde 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.

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

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

Receive<TOutput>(ISourceBlock<TOutput>)

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

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

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

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, CancellationToken)

Belirli bir 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.

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

İsteğe bağlı zaman aşımı süresini gözlemleyerek belirtilen kaynaktan zaman uyumsuz olarak bir değer alır.

ReceiveAsync<TOutput>(ISourceBlock<TOutput>)

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

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

Zaman uyumsuz olarak hedef ileti bloğuna bir ileti sunar ve ertelemeye olanak tanır.

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

Zaman uyumsuz olarak hedef ileti bloğuna bir ileti sunar ve ertelemeye olanak tanır.

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

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

Şunlara uygulanır