TransformManyBlock<TInput,TOutput>.ITargetBlock<TInput>.OfferMessage 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.
Offre un messaggio al ITargetBlock<TInput> e fornisce alla destinazione la possibilità di utilizzare o posticipare il messaggio.
virtual System::Threading::Tasks::Dataflow::DataflowMessageStatus System.Threading.Tasks.Dataflow.ITargetBlock<TInput>.OfferMessage(System::Threading::Tasks::Dataflow::DataflowMessageHeader messageHeader, TInput messageValue, System::Threading::Tasks::Dataflow::ISourceBlock<TInput> ^ source, bool consumeToAccept) = System::Threading::Tasks::Dataflow::ITargetBlock<TInput>::OfferMessage;
System.Threading.Tasks.Dataflow.DataflowMessageStatus ITargetBlock<TInput>.OfferMessage (System.Threading.Tasks.Dataflow.DataflowMessageHeader messageHeader, TInput messageValue, System.Threading.Tasks.Dataflow.ISourceBlock<TInput> source, bool consumeToAccept);
abstract member System.Threading.Tasks.Dataflow.ITargetBlock<TInput>.OfferMessage : System.Threading.Tasks.Dataflow.DataflowMessageHeader * 'Input * System.Threading.Tasks.Dataflow.ISourceBlock<'Input> * bool -> System.Threading.Tasks.Dataflow.DataflowMessageStatus
override this.System.Threading.Tasks.Dataflow.ITargetBlock<TInput>.OfferMessage : System.Threading.Tasks.Dataflow.DataflowMessageHeader * 'Input * System.Threading.Tasks.Dataflow.ISourceBlock<'Input> * bool -> System.Threading.Tasks.Dataflow.DataflowMessageStatus
Function OfferMessage (messageHeader As DataflowMessageHeader, messageValue As TInput, source As ISourceBlock(Of TInput), consumeToAccept As Boolean) As DataflowMessageStatus Implements ITargetBlock(Of TInput).OfferMessage
Parametri
- messageHeader
- DataflowMessageHeader
Un'istanza DataflowMessageHeader che rappresenta l'intestazione del messaggio che viene offerto.
- messageValue
- TInput
Valore del messaggio offerto.
- source
- ISourceBlock<TInput>
ISourceBlock<TOutput> che offre il messaggio. Può assumere il valore null
.
- consumeToAccept
- Boolean
true
se la destinazione deve chiamare ConsumeMessage(DataflowMessageHeader, ITargetBlock<TOutput>, Boolean) in modo sincrono durante la chiamata a ITargetBlock<TInput>, prima di restituire Accepted per eseguire il messaggio.
Restituisce
Stato del messaggio offerto. Se il messaggio è stato accettato dalla destinazione, viene restituito Accepted e l'origine non deve più utilizzare il messaggio inviato, in quanto è ora di proprietà della destinazione. Se il messaggio è stato posticipato dal database di destinazione, Postponed viene restituito come notifica relativa alla destinazione che potrebbe successivamente tentare di utilizzare o prenotare il messaggio. Allo stesso tempo, l'origine ancora possiede ancora il messaggio e potrebbe offrirlo ad altri blocchi.
Se la destinazione avesse posticipato diversamente l'elemento ma l'origine era null
, viene restituito Declined.
Se la destinazione ha provato ad accettare il messaggio ma non ci è riuscito a causa della consegna di origine del messaggio a un'altra destinazione o semplicemente perché è stato eliminato, viene restituito NotAvailable.
Se il database di destinazione ha scelto di non accettare il messaggio, viene restituito Declined. Se la destinazione ha scelto di non accettare il messaggio e non accetterà un altro messaggio da questa origine, viene restituito DecliningPermanently.
Implementazioni
Eccezioni
L'elemento messageHeader
non è valido.
-oppure-
consumeToAccept
può essere true se viene fornito con un source
parametro diverso da null.