WriteOnceBlock<T>.ISourceBlock<T>.ReserveMessage Metoda
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Wywoływana przez element połączonyITargetBlock<TInput>, aby zarezerwować wcześniej oferowaną przez tę ISourceBlock<TOutput>usługę DataflowMessageHeader .
virtual bool System.Threading.Tasks.Dataflow.ISourceBlock<T>.ReserveMessage(System::Threading::Tasks::Dataflow::DataflowMessageHeader messageHeader, System::Threading::Tasks::Dataflow::ITargetBlock<T> ^ target) = System::Threading::Tasks::Dataflow::ISourceBlock<T>::ReserveMessage;
bool ISourceBlock<T>.ReserveMessage (System.Threading.Tasks.Dataflow.DataflowMessageHeader messageHeader, System.Threading.Tasks.Dataflow.ITargetBlock<T> target);
abstract member System.Threading.Tasks.Dataflow.ISourceBlock<T>.ReserveMessage : System.Threading.Tasks.Dataflow.DataflowMessageHeader * System.Threading.Tasks.Dataflow.ITargetBlock<'T> -> bool
override this.System.Threading.Tasks.Dataflow.ISourceBlock<T>.ReserveMessage : System.Threading.Tasks.Dataflow.DataflowMessageHeader * System.Threading.Tasks.Dataflow.ITargetBlock<'T> -> bool
Function ReserveMessage (messageHeader As DataflowMessageHeader, target As ITargetBlock(Of T)) As Boolean Implements ISourceBlock(Of T).ReserveMessage
Parametry
- messageHeader
- DataflowMessageHeader
Wartość DataflowMessageHeader komunikatu jest zarezerwowana.
- target
- ITargetBlock<T>
Rezerwowanie ITargetBlock<TInput> wiadomości.
Zwraca
true
jeśli komunikat został pomyślnie zarezerwowany; w przeciwnym razie , false
.
Implementuje
Wyjątki
Wartość jest nieprawidłowa messageHeader
.
Wartość target
to null
.
Uwagi
Tylko ITargetBlock<TInput> wystąpienia połączone z tym ISourceBlock<TOutput> wystąpieniem mogą używać parametru ReserveMessagei muszą być używane tylko do rezerwowania DataflowMessageHeader wystąpień oferowanych wcześniej przez to źródło do obiektu docelowego.
Jeśli true
zostanie zwrócona, ITargetBlock<TInput> element musi następnie wywołać metodę ConsumeMessage lub ReleaseReservation dla tej wiadomości. Niepowodzenie tej czynności może spowodować, że źródło nie może propagować dalszych komunikatów do tych lub innych elementów docelowych.
ReserveMessage nie może być wywoływany, gdy element docelowy posiada jakiekolwiek blokady wewnętrzne. Spowoduje to naruszenie hierarchii blokady niezbędnej do uniknięcia zakleszczeń w sieci przepływu danych.