BroadcastBlock<T>.ISourceBlock<T>.ReserveMessage Metoda
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Volal by propojený ITargetBlock<TInput> k rezervaci dříve nabízené DataflowMessageHeader tímto ISourceBlock<TOutput>.
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
Zpráva DataflowMessageHeader , která je vyhrazena.
- target
- ITargetBlock<T>
Rezervace ITargetBlock<TInput> zprávy.
Návraty
true
pokud byla zpráva úspěšně rezervována; false
v opačném případě .
Implementuje
Výjimky
Tato messageHeader
hodnota není platná.
To target
je null
.
Poznámky
Mohou používat pouze ITargetBlock<TInput> instance propojené s touto ISourceBlock<TOutput> instancí a musí být použity pouze k rezervaci DataflowMessageHeader instancí dříve nabízených tímto zdrojem ReserveMessagecíli.
Pokud true
je vrácena, ITargetBlock<TInput> musí následně zavolat buď ConsumeMessage nebo ReleaseReservation pro tuto zprávu. Pokud to neuděláte, může dojít k tomu, že zdroj nemůže rozšířit žádné další zprávy do těchto nebo jiných cílů.
ReserveMessage nesmí být volána, zatímco cíl drží žádné vnitřní zámky. Tím dojde k porušení hierarchie zámků, která je nezbytná k tomu, aby se zabránilo zablokování v síti toku dat.