BatchedJoinBlock<T1,T2>.ISourceBlock<Tuple<IList<T1>,IList<T2>>>.ReserveMessage Metod
Definition
Viktigt
En del information gäller för förhandsversionen av en produkt och kan komma att ändras avsevärt innan produkten blir allmänt tillgänglig. Microsoft lämnar inga garantier, uttryckliga eller underförstådda, avseende informationen som visas här.
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.