BroadcastBlock<T>.ISourceBlock<T>.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.
Anropas av en länkad ITargetBlock<TInput> till reservera en tidigare erbjuden DataflowMessageHeader av denna ISourceBlock<TOutput>.
virtual bool System.Threading.Tasks.Dataflow.ISourceBlock<T>.ReserveMessage(System::Threading::Tasks::Dataflow::DataflowMessageHeader messageHeader, System::Threading::Tasks::Dataflow::ITargetBlock<T> ^ target) = System::Threading::Tasks::Dataflow::ISourceBlock<T>::ReserveMessage;
bool ISourceBlock<T>.ReserveMessage(System.Threading.Tasks.Dataflow.DataflowMessageHeader messageHeader, System.Threading.Tasks.Dataflow.ITargetBlock<T> target);
abstract member System.Threading.Tasks.Dataflow.ISourceBlock<T>.ReserveMessage : System.Threading.Tasks.Dataflow.DataflowMessageHeader * System.Threading.Tasks.Dataflow.ITargetBlock<'T> -> bool
override this.System.Threading.Tasks.Dataflow.ISourceBlock<T>.ReserveMessage : System.Threading.Tasks.Dataflow.DataflowMessageHeader * System.Threading.Tasks.Dataflow.ITargetBlock<'T> -> bool
Function ReserveMessage (messageHeader As DataflowMessageHeader, target As ITargetBlock(Of T)) As Boolean Implements ISourceBlock(Of T).ReserveMessage
Parametrar
- messageHeader
- DataflowMessageHeader
Meddelandet DataflowMessageHeader som reserveras.
- target
- ITargetBlock<T>
Reservera ITargetBlock<TInput> meddelandet.
Returer
trueom meddelandet har reserverats. annars . false
Implementeringar
Undantag
Är messageHeader inte giltig.
target är null.
Kommentarer
Endast ITargetBlock<TInput> instanser som är länkade till den här ISourceBlock<TOutput> instansen kan använda ReserveMessage, och de får endast användas för att reservera DataflowMessageHeader instanser som tidigare erbjöds av den här källan till målet.
Om true returneras måste du ITargetBlock<TInput> anropa antingen ConsumeMessage eller ReleaseReservation för det här meddelandet. Om du inte gör det kan källan inte kunna sprida ytterligare meddelanden till det här eller andra mål.
ReserveMessage får inte anropas 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.