JoinBlock<T1,T2,T3>.ISourceBlock<Tuple<T1,T2,T3>>.ReserveMessage Metodo

Definizione

Si riserva il diritto di passare la proprietà del messaggio identificato da DataflowMessageHeader da questo ISourceBlock<TOutput> all'oggetto ITargetBlock<TInput>.

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

Parametri

messageHeader
DataflowMessageHeader

Oggetto DataflowMessageHeader del messaggio da riservare.

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

Oggetto ITargetBlock<TInput> per il quale il messaggio deve essere riservato.

Valori restituiti

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

Implementazioni

Eccezioni

l'oggetto messageHeader non è valido.

Il target è null (Nothing in Visual Basic).

Commenti

L'oggetto ITargetBlock<TInput> per il quale il messaggio deve essere riservato non deve essere collegato da questa ISourceBlock<TOutput> istanza. Inoltre, questa ISourceBlock<TOutput> istanza potrebbe non aver mai offerto il messaggio direttamente all'oggetto ITargetBlock<TInput>.

Se true viene restituito, è necessario chiamare ConsumeMessage successivamente o ReleaseReservation per questo messaggio con lo stesso DataflowMessageHeader e ITargetBlock<TInput>. In caso contrario, l'origine potrebbe non essere in grado di propagare altri messaggi a qualsiasi destinazione.

Non chiamare ReserveMessage mentre la destinazione contiene blocchi interni. In questo modo verrà violata la gerarchia di blocchi necessaria per evitare deadlock in una rete di flussi di dati.

Si applica a