Aracılığıyla paylaş


WriteOnceBlock<T> Sınıf

Tanım

Veri akışı blokları ağındaki en fazla bir öğeyi almak ve depolamak için bir arabellek sağlar.

generic <typename T>
public ref class WriteOnceBlock sealed : 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>
public sealed class WriteOnceBlock<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 WriteOnceBlock<'T> = class
    interface IPropagatorBlock<'T, 'T>
    interface ITargetBlock<'T>
    interface IDataflowBlock
    interface ISourceBlock<'T>
    interface IReceivableSourceBlock<'T>
type WriteOnceBlock<'T> = class
    interface IDataflowBlock
    interface IPropagatorBlock<'T, 'T>
    interface ISourceBlock<'T>
    interface ITargetBlock<'T>
    interface IReceivableSourceBlock<'T>
Public NotInheritable Class WriteOnceBlock(Of T)
Implements IPropagatorBlock(Of T, T), IReceivableSourceBlock(Of T), ISourceBlock(Of T), ITargetBlock(Of T)

Tür Parametreleri

T

Bu veri akışı bloğu tarafından arabelleğe alınan verilerin türünü belirtir.

Devralma
WriteOnceBlock<T>
Uygulamalar

Açıklamalar

Not

TPL veri akışı kitaplığı ( System.Threading.Tasks.Dataflow ad alanı) .NET ile dağıtılmaz. System.Threading.Tasks.DataflowVisual Studio 'da ad alanını yüklemek için projenizi açın, Proje menüsünden NuGet Paketlerini Yönet ' i seçin ve paketi çevrimiçi olarak arayın System.Threading.Tasks.Dataflow . Alternatif olarak, .NET Core CLIkullanarak yüklemek için öğesini çalıştırın dotnet add package System.Threading.Tasks.Dataflow .

Oluşturucular

WriteOnceBlock<T>(Func<T,T>)

Yeni WriteOnceBlock<T>bir başlatır.

WriteOnceBlock<T>(Func<T,T>, DataflowBlockOptions)

Belirtilen DataflowBlockOptionsile yeni WriteOnceBlock<T> bir başlatır.

Özellikler

Completion

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

Yöntemler

Complete()

IDataflowBlock daha fazla ileti kabul etmemesi, üretmemesi veya ertelenmiş iletileri tüketmemesi 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.

TryReceive(Predicate<T>, T)

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

Belirtik Arabirim Kullanımları

IDataflowBlock.Fault(Exception)

bir IDataflowBlock durumda Faulted tamamlanmasına neden olur.

IReceivableSourceBlock<T>.TryReceiveAll(IList<T>)

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

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

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

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

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