ITargetBlock<TInput>.OfferMessage Método
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Oferece uma mensagem para o ITargetBlock<TInput>, que fornece ao destino a oportunidade de consumir ou adiar a mensagem.
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);
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
Uma instância DataflowMessageHeader que representa o cabeçalho da mensagem que está sendo oferecida.
- messageValue
- TInput
O valor da mensagem que está sendo oferecida.
- source
- ISourceBlock<TInput>
O ISourceBlock<TOutput> que oferece a mensagem. Isso pode ser nulo.
- consumeToAccept
- Boolean
Definido como true
para instruir o destino a chamar ConsumeMessage(DataflowMessageHeader, ITargetBlock<TOutput>, Boolean) de forma síncrona durante a chamada para OfferMessage(DataflowMessageHeader, TInput, ISourceBlock<TInput>, Boolean), antes de retornar Accepted, para consumir a mensagem.
Retornos
O status da mensagem oferecida. Se a mensagem foi aceita pelo destino, Accepted é retornado e a fonte não deve mais usar a mensagem oferecida, porque agora ela é definida pelo destino. Se a mensagem foi adiada pelo destino, Postponed é retornado como uma notificação de que o destino pode tentar consumir ou reservar a mensagem mais tarde; enquanto isso, a fonte ainda tem a mensagem e pode oferecê-la aos outros blocos.
Se o destino teria adiado a mensagem, mas a fonte era null
, Declined é retornado em vez disso.
Se o destino tentou aceitar a mensagem, mas a perdeu devido à origem entregá-la para outro destino ou simplesmente descartando-a, NotAvailable será retornado.
Se o destino optou por não aceitar a mensagem, Declined é retornado. Se o destino optou por não aceitar a mensagem e nunca aceitar outra mensagem desta fonte, DecliningPermanently é retornado.
Exceções
O messageHeader
não é válido.
-ou- consumeToAccept
poderá ser verdadeiro somente se receber um source
não nulo.