WriteOnceBlock<T>.ISourceBlock<T>.ReserveMessage Metodo
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Chiamato da un ITargetBlock<TInput> collegato per conservare un DataflowMessageHeader precedentemente offerto da questo 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
Parametri
- messageHeader
- DataflowMessageHeader
DataflowMessageHeader del messaggio prenotato.
- target
- ITargetBlock<T>
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, deve ITargetBlock<TInput> successivamente chiamare ConsumeMessage o ReleaseReservation per questo messaggio. In caso contrario, l'origine potrebbe non essere in grado di propagare altri messaggi a questa o ad altre destinazioni.
ReserveMessage non deve essere chiamato mentre la destinazione mantiene eventuali blocchi interni. In questo modo verrà violata la gerarchia di blocchi necessaria per evitare deadlock in una rete del flusso di dati.