BroadcastBlock<T>.ITargetBlock<T>.OfferMessage Método
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Ofrece un mensaje a , ITargetBlock<TInput>lo que proporciona al destino la oportunidad de consumir o posponer el mensaje.
virtual System::Threading::Tasks::Dataflow::DataflowMessageStatus System.Threading.Tasks.Dataflow.ITargetBlock<T>.OfferMessage(System::Threading::Tasks::Dataflow::DataflowMessageHeader messageHeader, T messageValue, System::Threading::Tasks::Dataflow::ISourceBlock<T> ^ source, bool consumeToAccept) = System::Threading::Tasks::Dataflow::ITargetBlock<T>::OfferMessage;
System.Threading.Tasks.Dataflow.DataflowMessageStatus ITargetBlock<T>.OfferMessage(System.Threading.Tasks.Dataflow.DataflowMessageHeader messageHeader, T messageValue, System.Threading.Tasks.Dataflow.ISourceBlock<T> source, bool consumeToAccept);
abstract member System.Threading.Tasks.Dataflow.ITargetBlock<T>.OfferMessage : System.Threading.Tasks.Dataflow.DataflowMessageHeader * 'T * System.Threading.Tasks.Dataflow.ISourceBlock<'T> * bool -> System.Threading.Tasks.Dataflow.DataflowMessageStatus
override this.System.Threading.Tasks.Dataflow.ITargetBlock<T>.OfferMessage : System.Threading.Tasks.Dataflow.DataflowMessageHeader * 'T * System.Threading.Tasks.Dataflow.ISourceBlock<'T> * bool -> System.Threading.Tasks.Dataflow.DataflowMessageStatus
Function OfferMessage (messageHeader As DataflowMessageHeader, messageValue As T, source As ISourceBlock(Of T), consumeToAccept As Boolean) As DataflowMessageStatus Implements ITargetBlock(Of T).OfferMessage
Parámetros
- messageHeader
- DataflowMessageHeader
Instancia DataflowMessageHeader de que representa el encabezado del mensaje que se ofrece.
- messageValue
- T
Valor del mensaje que se ofrece.
- source
- ISourceBlock<T>
Que ISourceBlock<TOutput> ofrece el mensaje. Esto puede ser null.
- consumeToAccept
- Boolean
true Establézcalo en para indicar al destino que llame ConsumeMessage(DataflowMessageHeader, ITargetBlock<TOutput>, Boolean) de forma sincrónica durante la llamada a OfferMessage(DataflowMessageHeader, TInput, ISourceBlock<TInput>, Boolean), antes de devolver Accepted, para consumir el mensaje.
Devoluciones
Estado del mensaje ofrecido. Si el destino ha aceptado el mensaje, Accepted se devuelve y el origen ya no debe usar el mensaje ofrecido, ya que ahora es propiedad del destino. Si el destino pospone el mensaje, Postponed se devuelve como una notificación de que el destino puede intentar consumir o reservar el mensaje; mientras tanto, el origen sigue siendo propietario del mensaje y puede ofrecerlo a otros bloques.
Si el destino hubiera pospuesto de otro modo el mensaje, pero source era null, Declined se devuelve en su lugar.
Si el destino intentó aceptar el mensaje pero lo perdió debido al origen que entrega el mensaje a otro destino o simplemente lo descarta, NotAvailable se devuelve.
Si el destino eligió no aceptar el mensaje, Declined se devuelve. Si el destino eligió no aceptar el mensaje y nunca aceptará otro mensaje de este origen, DecliningPermanently se devuelve.
Implementaciones
Excepciones
no messageHeader es válido.
-o bien- consumeToAccept solo puede ser true si se proporciona con un valor distinto de NULL source.