Condividi tramite


TransformBlock<TInput,TOutput>.ISourceBlock<TOutput>.ReserveMessage Metodo

Definizione

Chiamato da un ITargetBlock<TInput> collegato per conservare un DataflowMessageHeader precedentemente offerto da questo ISourceBlock<TOutput>.

 virtual bool System.Threading.Tasks.Dataflow.ISourceBlock<TOutput>.ReserveMessage(System::Threading::Tasks::Dataflow::DataflowMessageHeader messageHeader, System::Threading::Tasks::Dataflow::ITargetBlock<TOutput> ^ target) = System::Threading::Tasks::Dataflow::ISourceBlock<TOutput>::ReserveMessage;
bool ISourceBlock<TOutput>.ReserveMessage (System.Threading.Tasks.Dataflow.DataflowMessageHeader messageHeader, System.Threading.Tasks.Dataflow.ITargetBlock<TOutput> target);
abstract member System.Threading.Tasks.Dataflow.ISourceBlock<TOutput>.ReserveMessage : System.Threading.Tasks.Dataflow.DataflowMessageHeader * System.Threading.Tasks.Dataflow.ITargetBlock<'Output> -> bool
override this.System.Threading.Tasks.Dataflow.ISourceBlock<TOutput>.ReserveMessage : System.Threading.Tasks.Dataflow.DataflowMessageHeader * System.Threading.Tasks.Dataflow.ITargetBlock<'Output> -> bool
Function ReserveMessage (messageHeader As DataflowMessageHeader, target As ITargetBlock(Of TOutput)) As Boolean Implements ISourceBlock(Of TOutput).ReserveMessage

Parametri

messageHeader
DataflowMessageHeader

DataflowMessageHeader del messaggio prenotato.

target
ITargetBlock<TOutput>

ITargetBlock<TInput> che riserva il messaggio.

Restituisce

true se il messaggio è stato riservato, false in caso contrario.

Implementazioni

Eccezioni

L'elemento messageHeader non è valido.

L'elemento target è null.

Commenti

Solo ITargetBlock<TInput> le istanze collegate a questa ISourceBlock<TOutput> istanza possono usare ReserveMessagee devono essere usate solo per riservare DataflowMessageHeader le istanze offerte in precedenza da questa origine alla destinazione.

Se true viene restituito, è ITargetBlock<TInput> necessario chiamare ConsumeMessage successivamente o ReleaseReservation per questo messaggio. In caso contrario, è possibile che l'origine non sia in grado di propagare altri messaggi a questa o ad altre destinazioni.

ReserveMessage non deve essere chiamato mentre la destinazione contiene blocchi interni. In questo modo si viola la gerarchia di blocchi necessaria per evitare deadlock in una rete di flusso di dati.

Si applica a