ISourceBlock<TOutput>.ConsumeMessage 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í.
Lo llama una interfaz ITargetBlock<TInput> vinculada para aceptar y usar una estructura DataflowMessageHeader ofrecida previamente por esta interfaz 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 está usando.
- target
- ITargetBlock<TOutput>
ITargetBlock<TInput> que consume el mensaje.
- messageConsumed
- Boolean
true
si se ha consumido correctamente el mensaje; de lo contrario, es false
.
Devoluciones
- TOutput
Valor del mensaje consumido. Esto puede corresponder a una instancia diferente de DataflowMessageHeader que se ha reservado y pasado previamente como messageHeader
a ConsumeMessage(DataflowMessageHeader, ITargetBlock<TOutput>, Boolean). La interfaz ITargetBlock<TInput> de consumo debe usar el valor devuelto en lugar del valor pasado como messageValue
mediante OfferMessage(DataflowMessageHeader, TInput, ISourceBlock<TInput>, Boolean).
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 ofrecidas anteriormente por este origen al destino.