ActionBlock<TInput>.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 blocco di flusso di dati e fornisce 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
Intestazione del messaggio offerto.
- messageValue
- TInput
Valore del messaggio offerto.
- source
- ISourceBlock<TInput>
Il blocco del flusso di dati che sta offrendo il messaggio. Può assumere il valore null
.
- consumeToAccept
- Boolean
true
per indicare alla destinazione di chiamare ConsumeMessage(DataflowMessageHeader, ITargetBlock<TOutput>, Boolean) in modo sincrono durante la chiamata a OfferMessage(DataflowMessageHeader, TInput, ISourceBlock<TInput>, Boolean), prima di restituire Accepted per eseguire il messaggio; in caso contrario, false
.
Restituisce
Stato del messaggio offerto. Se il messaggio è stato accettato dalla destinazione, viene restituito Accepted e l'origine non deve più utilizzare il messaggio offerto, 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 non ha potuto posticipare il messaggio perché 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
messageHeader
non è valido.
- oppure - consumeToAccept
può essere true
solo se specificato con un parametro source
non Null.