JoinBlock<T1,T2,T3>.ISourceBlock<Tuple<T1,T2,T3>>.ReserveMessage Metoda
Definicja
Ważny
Niektóre informacje dotyczą produktów przedpremierowych, które mogą zostać znacznie zmodyfikowane przed premierą. Microsoft nie udziela żadnych gwarancji, ani wyraźnych, ani domniemanych, dotyczących informacji podanych tutaj.
Zastrzega sobie prawo do przekazania własności wiadomości zidentyfikowanej przez DataflowMessageHeader element z tego ISourceBlock<TOutput> do ITargetBlock<TInput>.
virtual bool System.Threading.Tasks.Dataflow.ISourceBlock<System.Tuple<T1,T2,T3>>.ReserveMessage(System::Threading::Tasks::Dataflow::DataflowMessageHeader messageHeader, System::Threading::Tasks::Dataflow::ITargetBlock<Tuple<T1, T2, T3> ^> ^ target) = System::Threading::Tasks::Dataflow::ISourceBlock<Tuple<T1, T2, T3> ^>::ReserveMessage;
bool ISourceBlock<Tuple<T1,T2,T3>>.ReserveMessage(System.Threading.Tasks.Dataflow.DataflowMessageHeader messageHeader, System.Threading.Tasks.Dataflow.ITargetBlock<Tuple<T1,T2,T3>> target);
abstract member System.Threading.Tasks.Dataflow.ISourceBlock<System.Tuple<T1,T2,T3>>.ReserveMessage : System.Threading.Tasks.Dataflow.DataflowMessageHeader * System.Threading.Tasks.Dataflow.ITargetBlock<'T1 * 'T2 * 'T3> -> bool
override this.System.Threading.Tasks.Dataflow.ISourceBlock<System.Tuple<T1,T2,T3>>.ReserveMessage : System.Threading.Tasks.Dataflow.DataflowMessageHeader * System.Threading.Tasks.Dataflow.ITargetBlock<'T1 * 'T2 * 'T3> -> bool
Function ReserveMessage (messageHeader As DataflowMessageHeader, target As ITargetBlock(Of Tuple(Of T1, T2, T3))) As Boolean Implements ISourceBlock(Of Tuple(Of T1, T2, T3)).ReserveMessage
Parametry
- messageHeader
- DataflowMessageHeader
Wiadomość DataflowMessageHeader , która ma być zarezerwowana.
- target
- ITargetBlock<Tuple<T1,T2,T3>>
Element ITargetBlock<TInput> , dla którego ma zostać zastrzeżony komunikat.
Zwraca
true jeśli wiadomość została pomyślnie zarezerwowana; w przeciwnym razie , false.
Implementuje
Wyjątki
Wartość jest nieprawidłowa messageHeader .
Jest target to null (Nic w Visual Basic).
Uwagi
Dla ITargetBlock<TInput> którego komunikat ma być zarezerwowany, nie musi być połączony z tym ISourceBlock<TOutput> wystąpieniem. Co więcej, to ISourceBlock<TOutput> wystąpienie może nigdy nie zaoferować komunikatu bezpośrednio do .ITargetBlock<TInput>
Jeśli true zostanie zwrócona, musisz następnie wywołać ConsumeMessage komunikat lub ReleaseReservation dla tej wiadomości o tej samej DataflowMessageHeader nazwie i ITargetBlock<TInput>. Jeśli tego nie zrobisz, źródło może nie być w stanie rozpropagować dalszych komunikatów do dowolnego obiektu docelowego.
Nie wywołujej wywołania ReserveMessage , gdy element docelowy przechowuje żadne blokady wewnętrzne. Spowoduje to naruszenie hierarchii blokady niezbędnej do uniknięcia zakleszczenia w sieci przepływu danych.