BatchedJoinBlock<T1,T2>.ISourceBlock<Tuple<IList<T1>,IList<T2>>>.ReserveMessage Metod

Definition

Förbehåller sig rätten att överföra ägarskapet för meddelandet som identifieras av DataflowMessageHeader från detta ISourceBlock<TOutput> till ITargetBlock<TInput>.

 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

Parametrar

messageHeader
DataflowMessageHeader

Meddelandet DataflowMessageHeader som ska reserveras.

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

För ITargetBlock<TInput> vilken meddelandet ska reserveras.

Returer

trueom meddelandet har reserverats. annars . false

Implementeringar

Undantag

Är messageHeader inte giltig.

target är null (Nothing i Visual Basic).

Kommentarer

Meddelandet ITargetBlock<TInput> som ska reserveras för behöver inte länkas från den här ISourceBlock<TOutput> instansen. Dessutom kan den här ISourceBlock<TOutput> instansen aldrig ha erbjudit meddelandet direkt till ITargetBlock<TInput>.

Om true returneras måste du anropa antingen ConsumeMessage eller ReleaseReservation för det här meddelandet med samma DataflowMessageHeader och ITargetBlock<TInput>. Om du inte gör det kan källan kanske inte sprida några ytterligare meddelanden till något mål.

Anropa ReserveMessage inte medan målet håller några interna lås. Detta bryter mot den låshierarki som krävs för att undvika dödlägen i ett dataflödesnätverk.

Gäller för