Condividi tramite


TransformManyBlock<TInput,TOutput>.ITargetBlock<TInput>.OfferMessage Metodo

Definizione

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

DataflowMessageStatus

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.

Si applica a