BatchedJoinBlock<T1,T2>.ISourceBlock<Tuple<IList<T1>,IList<T2>>>.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 ISourceBlock<TOutput> touto zprávou ITargetBlock<TInput>na .
virtual bool System.Threading.Tasks.Dataflow.ISourceBlock<System.Tuple<System.Collections.Generic.IList<T1>,System.Collections.Generic.IList<T2>>>.ReserveMessage(System::Threading::Tasks::Dataflow::DataflowMessageHeader messageHeader, System::Threading::Tasks::Dataflow::ITargetBlock<Tuple<System::Collections::Generic::IList<T1> ^, System::Collections::Generic::IList<T2> ^> ^> ^ target) = System::Threading::Tasks::Dataflow::ISourceBlock<Tuple<System::Collections::Generic::IList<T1> ^, System::Collections::Generic::IList<T2> ^> ^>::ReserveMessage;
bool ISourceBlock<Tuple<IList<T1>,IList<T2>>>.ReserveMessage (System.Threading.Tasks.Dataflow.DataflowMessageHeader messageHeader, System.Threading.Tasks.Dataflow.ITargetBlock<Tuple<System.Collections.Generic.IList<T1>,System.Collections.Generic.IList<T2>>> target);
abstract member System.Threading.Tasks.Dataflow.ISourceBlock<System.Tuple<System.Collections.Generic.IList<T1>,System.Collections.Generic.IList<T2>>>.ReserveMessage : System.Threading.Tasks.Dataflow.DataflowMessageHeader * System.Threading.Tasks.Dataflow.ITargetBlock<System.Collections.Generic.IList<'T1> * System.Collections.Generic.IList<'T2>> -> bool
override this.System.Threading.Tasks.Dataflow.ISourceBlock<System.Tuple<System.Collections.Generic.IList<T1>,System.Collections.Generic.IList<T2>>>.ReserveMessage : System.Threading.Tasks.Dataflow.DataflowMessageHeader * System.Threading.Tasks.Dataflow.ITargetBlock<System.Collections.Generic.IList<'T1> * System.Collections.Generic.IList<'T2>> -> bool
Function ReserveMessage (messageHeader As DataflowMessageHeader, target As ITargetBlock(Of Tuple(Of IList(Of T1), IList(Of T2)))) As Boolean Implements ISourceBlock(Of Tuple(Of IList(Of T1), IList(Of T2))).ReserveMessage
Parametry
- messageHeader
- DataflowMessageHeader
Zpráva DataflowMessageHeader , která má být vyhrazena.
- target
- ITargetBlock<Tuple<IList<T1>,IList<T2>>>
Zpráva ITargetBlock<TInput> , pro kterou má být zpráva vyhrazena.
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á.
null
Je target
(Nothing
v Visual Basic).
Poznámky
Zpráva ITargetBlock<TInput> , pro kterou má být vyhrazena, nemusí být z této ISourceBlock<TOutput> instance propojena. Navíc tato ISourceBlock<TOutput> instance možná nikdy nenabídnula zprávu přímo .ITargetBlock<TInput>
Pokud true
je vrácena, musíte následně zavolat buď ConsumeMessage nebo ReleaseReservation pro tuto zprávu se stejnou DataflowMessageHeader a ITargetBlock<TInput>. Pokud ne, zdroj pravděpodobně 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ů, která je nezbytná k tomu, aby se zabránilo zablokování v síti toku dat.