Sdílet prostřednictvím


BatchedJoinBlock<T1,T2,T3>.ISourceBlock<Tuple<IList<T1>,IList<T2>,IList<T3>>>.ReserveMessage Metoda

Definice

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>,System.Collections.Generic.IList<T3>>>.ReserveMessage(System::Threading::Tasks::Dataflow::DataflowMessageHeader messageHeader, System::Threading::Tasks::Dataflow::ITargetBlock<Tuple<System::Collections::Generic::IList<T1> ^, System::Collections::Generic::IList<T2> ^, System::Collections::Generic::IList<T3> ^> ^> ^ target) = System::Threading::Tasks::Dataflow::ISourceBlock<Tuple<System::Collections::Generic::IList<T1> ^, System::Collections::Generic::IList<T2> ^, System::Collections::Generic::IList<T3> ^> ^>::ReserveMessage;
bool ISourceBlock<Tuple<IList<T1>,IList<T2>,IList<T3>>>.ReserveMessage (System.Threading.Tasks.Dataflow.DataflowMessageHeader messageHeader, System.Threading.Tasks.Dataflow.ITargetBlock<Tuple<System.Collections.Generic.IList<T1>,System.Collections.Generic.IList<T2>,System.Collections.Generic.IList<T3>>> target);
abstract member System.Threading.Tasks.Dataflow.ISourceBlock<System.Tuple<System.Collections.Generic.IList<T1>,System.Collections.Generic.IList<T2>,System.Collections.Generic.IList<T3>>>.ReserveMessage : System.Threading.Tasks.Dataflow.DataflowMessageHeader * System.Threading.Tasks.Dataflow.ITargetBlock<System.Collections.Generic.IList<'T1> * System.Collections.Generic.IList<'T2> * System.Collections.Generic.IList<'T3>> -> bool
override this.System.Threading.Tasks.Dataflow.ISourceBlock<System.Tuple<System.Collections.Generic.IList<T1>,System.Collections.Generic.IList<T2>,System.Collections.Generic.IList<T3>>>.ReserveMessage : System.Threading.Tasks.Dataflow.DataflowMessageHeader * System.Threading.Tasks.Dataflow.ITargetBlock<System.Collections.Generic.IList<'T1> * System.Collections.Generic.IList<'T2> * System.Collections.Generic.IList<'T3>> -> bool
Function ReserveMessage (messageHeader As DataflowMessageHeader, target As ITargetBlock(Of Tuple(Of IList(Of T1), IList(Of T2), IList(Of T3)))) As Boolean Implements ISourceBlock(Of Tuple(Of IList(Of T1), IList(Of T2), IList(Of T3))).ReserveMessage

Parametry

messageHeader
DataflowMessageHeader

Zpráva DataflowMessageHeader , která má být vyhrazena.

target
ITargetBlock<Tuple<IList<T1>,IList<T2>,IList<T3>>>

Zpráva ITargetBlock<TInput> , pro kterou má být zpráva vyhrazena.

Návraty

Boolean

true pokud byla zpráva úspěšně rezervována; falsev 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.

Platí pro