JoinBlock<T1,T2>.ISourceBlock<Tuple<T1,T2>>.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>>.ReserveMessage(System::Threading::Tasks::Dataflow::DataflowMessageHeader messageHeader, System::Threading::Tasks::Dataflow::ITargetBlock<Tuple<T1, T2> ^> ^ target) = System::Threading::Tasks::Dataflow::ISourceBlock<Tuple<T1, T2> ^>::ReserveMessage;
bool ISourceBlock<Tuple<T1,T2>>.ReserveMessage(System.Threading.Tasks.Dataflow.DataflowMessageHeader messageHeader, System.Threading.Tasks.Dataflow.ITargetBlock<Tuple<T1,T2>> target);
abstract member System.Threading.Tasks.Dataflow.ISourceBlock<System.Tuple<T1,T2>>.ReserveMessage : System.Threading.Tasks.Dataflow.DataflowMessageHeader * System.Threading.Tasks.Dataflow.ITargetBlock<'T1 * 'T2> -> bool
override this.System.Threading.Tasks.Dataflow.ISourceBlock<System.Tuple<T1,T2>>.ReserveMessage : System.Threading.Tasks.Dataflow.DataflowMessageHeader * System.Threading.Tasks.Dataflow.ITargetBlock<'T1 * 'T2> -> bool
Function ReserveMessage (messageHeader As DataflowMessageHeader, target As ITargetBlock(Of Tuple(Of T1, T2))) As Boolean Implements ISourceBlock(Of Tuple(Of T1, T2)).ReserveMessage
Parametry
- messageHeader
- DataflowMessageHeader
Wiadomość DataflowMessageHeader , która ma być zarezerwowana.
- target
- ITargetBlock<Tuple<T1,T2>>
Element ITargetBlock<TInput> , dla którego komunikat ma być zarezerwowany.
Zwraca
true jeśli komunikat został pomyślnie zarezerwowany; w przeciwnym razie , false.
Implementuje
Wyjątki
Wartość jest nieprawidłowa messageHeader .
The target is null (Nothing in Visual Basic).
Uwagi
Element ITargetBlock<TInput> , dla którego komunikat ma być zarezerwowany, nie musi być połączony z tym ISourceBlock<TOutput> wystąpieniem. Ponadto to ISourceBlock<TOutput> wystąpienie mogło nigdy nie oferować komunikatu bezpośrednio do elementu ITargetBlock<TInput>.
Jeśli true zostanie zwrócona, musisz następnie wywołać jedną ConsumeMessage lub ReleaseReservation dla tej wiadomości z tym samym DataflowMessageHeader i ITargetBlock<TInput>. Jeśli tego nie zrobisz, źródło może nie być w stanie rozpropagować dalszych komunikatów do żadnego obiektu docelowego.
Nie należy wywoływać ReserveMessage , gdy element docelowy przechowuje jakiekolwiek blokady wewnętrzne. Spowoduje to naruszenie hierarchii blokady niezbędnej do uniknięcia zakleszczeń w sieci przepływu danych.