TransformBlock<TInput,TOutput>.ISourceBlock<TOutput>.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 odkaz ITargetBlock<TInput> na rezervaci dříve nabízené DataflowMessageHeader tímto ISourceBlock<TOutput>.
virtual bool System.Threading.Tasks.Dataflow.ISourceBlock<TOutput>.ReserveMessage(System::Threading::Tasks::Dataflow::DataflowMessageHeader messageHeader, System::Threading::Tasks::Dataflow::ITargetBlock<TOutput> ^ target) = System::Threading::Tasks::Dataflow::ISourceBlock<TOutput>::ReserveMessage;
bool ISourceBlock<TOutput>.ReserveMessage (System.Threading.Tasks.Dataflow.DataflowMessageHeader messageHeader, System.Threading.Tasks.Dataflow.ITargetBlock<TOutput> target);
abstract member System.Threading.Tasks.Dataflow.ISourceBlock<TOutput>.ReserveMessage : System.Threading.Tasks.Dataflow.DataflowMessageHeader * System.Threading.Tasks.Dataflow.ITargetBlock<'Output> -> bool
override this.System.Threading.Tasks.Dataflow.ISourceBlock<TOutput>.ReserveMessage : System.Threading.Tasks.Dataflow.DataflowMessageHeader * System.Threading.Tasks.Dataflow.ITargetBlock<'Output> -> bool
Function ReserveMessage (messageHeader As DataflowMessageHeader, target As ITargetBlock(Of TOutput)) As Boolean Implements ISourceBlock(Of TOutput).ReserveMessage
Parametry
- messageHeader
- DataflowMessageHeader
Zpráva DataflowMessageHeader , která je vyhrazena.
- target
- ITargetBlock<TOutput>
Rezervace ITargetBlock<TInput> zprávy.
Návraty
true
pokud byla zpráva úspěšně rezervována; v opačném případě . false
Implementuje
Výjimky
Není messageHeader
platný.
null
Je to target
.
Poznámky
K rezervaci DataflowMessageHeader instancí dříve nabízených tímto zdrojem cílovému zdroji je možné použít ReserveMessagepouze ITargetBlock<TInput> instance propojené s touto ISourceBlock<TOutput> instancí.
Pokud true
je vrácena, ITargetBlock<TInput> musí následně volat buď ConsumeMessage nebo ReleaseReservation pro tuto zprávu. Pokud to neuděláte, může dojít k tomu, že zdroj nemůže do tohoto nebo jiného cíle rozšířit žádné další zprávy.
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ů nezbytných k tomu, aby se zabránilo zablokování v síti toku dat.