ITargetBlock<TInput>.OfferMessage(DataflowMessageHeader, TInput, ISourceBlock<TInput>, Boolean) ITargetBlock<TInput>.OfferMessage(DataflowMessageHeader, TInput, ISourceBlock<TInput>, Boolean) ITargetBlock<TInput>.OfferMessage(DataflowMessageHeader, TInput, ISourceBlock<TInput>, Boolean) Method

Definición

Ofrece un mensaje a ITargetBlock<TInput>, dando al destino la oportunidad de usar o de posponer el mensaje.Offers a message to the ITargetBlock<TInput>, giving the target the opportunity to consume or postpone the message.

public System.Threading.Tasks.Dataflow.DataflowMessageStatus OfferMessage (System.Threading.Tasks.Dataflow.DataflowMessageHeader messageHeader, TInput messageValue, System.Threading.Tasks.Dataflow.ISourceBlock<in TInput> source, bool consumeToAccept);
abstract member OfferMessage : System.Threading.Tasks.Dataflow.DataflowMessageHeader * 'Input * System.Threading.Tasks.Dataflow.ISourceBlock<'Input> * bool -> System.Threading.Tasks.Dataflow.DataflowMessageStatus
Public Function OfferMessage (messageHeader As DataflowMessageHeader, messageValue As TInput, source As ISourceBlock(Of In TInput), consumeToAccept As Boolean) As DataflowMessageStatus

Parámetros

messageHeader
DataflowMessageHeader DataflowMessageHeader DataflowMessageHeader

Instancia de DataflowMessageHeader que representa el encabezado del mensaje que se va a ofrecer.A DataflowMessageHeader instance that represents the header of the message being offered.

messageValue

Valor del mensaje que se va a ofrecer.The value of the message being offered.

source
ISourceBlock<TInput>

ISourceBlock<TOutput> que ofrece el mensaje.The ISourceBlock<TOutput> offering the message. Éste puede ser null.This may be null.

consumeToAccept
Boolean Boolean Boolean

Establézcalo en true para indicar al destino para llamar a ConsumeMessage(DataflowMessageHeader, ITargetBlock<TOutput>, Boolean) sincrónicamente durante la llamada a OfferMessage(DataflowMessageHeader, TInput, ISourceBlock<TInput>, Boolean), antes de devolver Accepted, para usar el mensaje.Set to true to instruct the target to call ConsumeMessage(DataflowMessageHeader, ITargetBlock<TOutput>, Boolean) synchronously during the call to OfferMessage(DataflowMessageHeader, TInput, ISourceBlock<TInput>, Boolean), prior to returning Accepted, in order to consume the message.

Devoluciones

Estado del mensaje ofrecido.The status of the offered message. Si el destino aceptó el mensaje, se devuelve Accepted y el origen ya no debe usar más el mensaje ofrecido, ya que ahora es propiedad del destino.If the message was accepted by the target, Accepted is returned, and the source should no longer use the offered message, because it is now owned by the target. Si el destino pospuso el mensaje, se devuelve Postponed como notificación de que el destino puede intentar más adelante consumir o reservar el mensaje; mientras tanto, el origen todavía posee el mensaje y puede ofrecerlo a otros bloques.If the message was postponed by the target, Postponed is returned as a notification that the target may later attempt to consume or reserve the message; in the meantime, the source still owns the message and may offer it to other blocks.

Si el destino hubiera pospuesto de otra forma el mensaje, pero el origen fuera null, se devuelve Declined en su lugar.If the target would have otherwise postponed message, but source was null, Declined is instead returned.

Si el destino intentó aceptar el mensaje pero no pudo hacerlo porque el origen entrega el mensaje a otro destino o lo descarta simplemente, se devuelve NotAvailable.If the target tried to accept the message but missed it due to the source delivering the message to another target or simply discarding it, NotAvailable is returned.

Si el destino eligió no aceptar el mensaje, se devuelve Declined.If the target chose not to accept the message, Declined is returned. Si el destino eligió no aceptar el mensaje y nunca aceptará otro mensaje de este origen, se devuelve DecliningPermanently.If the target chose not to accept the message and will never accept another message from this source, DecliningPermanently is returned.

Excepciones

messageHeader no es válido.The messageHeader is not valid.

O bien, consumeToAccept solo puede ser true si se le proporciona un valor source distinto de NULL.-or- consumeToAccept may only be true if provided with a non-null source.

Se aplica a