ISourceBlock<TOutput>.ReserveMessage(DataflowMessageHeader, ITargetBlock<TOutput>) ISourceBlock<TOutput>.ReserveMessage(DataflowMessageHeader, ITargetBlock<TOutput>) ISourceBlock<TOutput>.ReserveMessage(DataflowMessageHeader, ITargetBlock<TOutput>) ISourceBlock<TOutput>.ReserveMessage(DataflowMessageHeader, ITargetBlock<TOutput>) Method

Definición

Lo llama una interfaz ITargetBlock<TInput> vinculada para reservar una estructura DataflowMessageHeader ofrecida previamente por esta interfaz ISourceBlock<TOutput>.Called by a linked ITargetBlock<TInput> to reserve a previously offered DataflowMessageHeader by this ISourceBlock<TOutput>.

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

Parámetros

messageHeader
DataflowMessageHeader DataflowMessageHeader DataflowMessageHeader DataflowMessageHeader

DataflowMessageHeader del mensaje que se está reservando.The DataflowMessageHeader of the message being reserved.

target
ITargetBlock<TOutput>

ITargetBlock<TInput> que reserva el mensaje.The ITargetBlock<TInput> reserving the message.

Devoluciones

true si se ha procesado correctamente el mensaje; de lo contrario, es false.true if the message was successfully reserved; otherwise, false.

Excepciones

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

Comentarios

Solo ITargetBlock<TInput> las instancias vinculadas ISourceBlock<TOutput> a esta instancia ReserveMessagepueden usar y solo se deben usar para reservar DataflowMessageHeader las instancias que este origen ofreció previamente al destino.Only ITargetBlock<TInput> instances linked to this ISourceBlock<TOutput> instance may use ReserveMessage, and it must only be used to reserve DataflowMessageHeader instances previously offered by this source to the target.

Si true se devuelve, el ITargetBlock<TInput> debe llamar posteriormente a ConsumeMessage o ReleaseReservation para este mensaje.If true is returned, the ITargetBlock<TInput> must subsequently call either ConsumeMessage or ReleaseReservation for this message. Si no lo hace, es posible que el origen no pueda propagar más mensajes a este u otros destinos.Failure to do so may result in the source being unable to propagate any further messages to this or other targets.

ReserveMessageno se debe llamar a mientras el destino está manteniendo los bloqueos internos.ReserveMessage must not be called while the target is holding any internal locks. Si lo hace, se infringirá la jerarquía de bloqueos necesaria para evitar los interbloqueos en una red de flujo de entrada.Doing so will violate the lock hierarchy necessary to avoid deadlocks in a dataflow network.

Se aplica a