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>.
public:
bool ReserveMessage(System::Threading::Tasks::Dataflow::DataflowMessageHeader messageHeader, System::Threading::Tasks::Dataflow::ITargetBlock<TOutput> ^ target);
public bool ReserveMessage(System.Threading.Tasks.Dataflow.DataflowMessageHeader messageHeader, System.Threading.Tasks.Dataflow.ITargetBlock<out TOutput> target);
abstract member ReserveMessage : System.Threading.Tasks.Dataflow.DataflowMessageHeader * System.Threading.Tasks.Dataflow.ITargetBlock<'Output> -> bool
Public Function ReserveMessage (messageHeader As DataflowMessageHeader, target As ITargetBlock(Of Out TOutput)) As Boolean
Parametry
- messageHeader
- DataflowMessageHeader
Zpráva DataflowMessageHeader , která je vyhrazena.
- target
- ITargetBlock<TOutput>
Rezervace ITargetBlock<TInput> zprávy.
Návraty
truepokud byla zpráva úspěšně rezervována; v opačném případě . false
Výjimky
Hodnota messageHeader není platná.
To target je null.
Poznámky
Pouze ITargetBlock<TInput> instance propojené s touto ISourceBlock<TOutput> instancí mohou používat ReserveMessagea musí být použity pouze k rezervaci DataflowMessageHeader instancí dříve nabízených tímto zdrojem pro cíl.
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 tohoto nebo jiného cíle.
ReserveMessage nesmí být volána, pokud 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.