JoinBlock<T1,T2,T3>.ISourceBlock<Tuple<T1,T2,T3>>.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í.
Vyhrazuje si právo předat vlastnictví zprávy identifikované DataflowMessageHeader z této ISourceBlock<TOutput> zprávy na ITargetBlock<TInput>.
virtual bool System.Threading.Tasks.Dataflow.ISourceBlock<System.Tuple<T1,T2,T3>>.ReserveMessage(System::Threading::Tasks::Dataflow::DataflowMessageHeader messageHeader, System::Threading::Tasks::Dataflow::ITargetBlock<Tuple<T1, T2, T3> ^> ^ target) = System::Threading::Tasks::Dataflow::ISourceBlock<Tuple<T1, T2, T3> ^>::ReserveMessage;
bool ISourceBlock<Tuple<T1,T2,T3>>.ReserveMessage (System.Threading.Tasks.Dataflow.DataflowMessageHeader messageHeader, System.Threading.Tasks.Dataflow.ITargetBlock<Tuple<T1,T2,T3>> target);
abstract member System.Threading.Tasks.Dataflow.ISourceBlock<System.Tuple<T1,T2,T3>>.ReserveMessage : System.Threading.Tasks.Dataflow.DataflowMessageHeader * System.Threading.Tasks.Dataflow.ITargetBlock<'T1 * 'T2 * 'T3> -> bool
override this.System.Threading.Tasks.Dataflow.ISourceBlock<System.Tuple<T1,T2,T3>>.ReserveMessage : System.Threading.Tasks.Dataflow.DataflowMessageHeader * System.Threading.Tasks.Dataflow.ITargetBlock<'T1 * 'T2 * 'T3> -> bool
Function ReserveMessage (messageHeader As DataflowMessageHeader, target As ITargetBlock(Of Tuple(Of T1, T2, T3))) As Boolean Implements ISourceBlock(Of Tuple(Of T1, T2, T3)).ReserveMessage
Parametry
- messageHeader
- DataflowMessageHeader
Zpráva DataflowMessageHeader , která má být vyhrazena.
- target
- ITargetBlock<Tuple<T1,T2,T3>>
Pro ITargetBlock<TInput> kterou má být zpráva vyhrazena.
Návraty
true
pokud byla zpráva úspěšně rezervována; v opačném případě . false
Implementuje
Výjimky
Není messageHeader
platný.
The target
is null
(Nothing in Visual Basic).
Poznámky
Zpráva ITargetBlock<TInput> , pro kterou má být rezervována, nemusí být propojena z této ISourceBlock<TOutput> instance. Kromě toho tato ISourceBlock<TOutput> instance možná nikdy nenabídla zprávu přímo .ITargetBlock<TInput>
Pokud true
je vrácena, musíte volat buď ConsumeMessage nebo ReleaseReservation pro tuto zprávu se stejnou DataflowMessageHeader a ITargetBlock<TInput>. Pokud ne, zdroj možná nebude moct rozšířit žádné další zprávy do žádného cíle.
Nevolejte ReserveMessage , když 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.