ISourceBlock<TOutput>.ConsumeMessage Método

Definición

Llamado por un vinculado ITargetBlock<TInput> para aceptar y consumir un DataflowMessageHeader objeto previamente ofrecido por este ISourceBlock<TOutput>.

public TOutput ConsumeMessage(System.Threading.Tasks.Dataflow.DataflowMessageHeader messageHeader, System.Threading.Tasks.Dataflow.ITargetBlock<out TOutput> target, out bool messageConsumed);
public TOutput? ConsumeMessage(System.Threading.Tasks.Dataflow.DataflowMessageHeader messageHeader, System.Threading.Tasks.Dataflow.ITargetBlock<out TOutput> target, out bool messageConsumed);
abstract member ConsumeMessage : System.Threading.Tasks.Dataflow.DataflowMessageHeader * System.Threading.Tasks.Dataflow.ITargetBlock<'Output> * bool -> 'Output
Public Function ConsumeMessage (messageHeader As DataflowMessageHeader, target As ITargetBlock(Of Out TOutput), ByRef messageConsumed As Boolean) As TOutput

Parámetros

messageHeader
DataflowMessageHeader

DataflowMessageHeader del mensaje que se va a consumir.

target
ITargetBlock<TOutput>

Que ITargetBlock<TInput> consume el mensaje.

messageConsumed
Boolean

true si el mensaje se consumió correctamente; de lo contrario, false.

Devoluciones

TOutput

Valor del mensaje consumido. Esto puede corresponder a una instancia diferente DataflowMessageHeader de la reservada anteriormente y pasar como messageHeader a ConsumeMessage(DataflowMessageHeader, ITargetBlock<TOutput>, Boolean). El consumo ITargetBlock<TInput> debe usar el valor devuelto en lugar del valor pasado como messageValue a través OfferMessage(DataflowMessageHeader, TInput, ISourceBlock<TInput>, Boolean)de .

Si el mensaje solicitado no está disponible, el valor devuelto será NULL.

Excepciones

MessageHeader no es válido.

El destino es null.

Comentarios

Solo ITargetBlock<TInput> las instancias vinculadas a esta ISourceBlock<TOutput> instancia pueden usar ConsumeMessagey solo se deben usar para consumir DataflowMessageHeader instancias anteriormente ofrecidas por este origen al destino.

Se aplica a