ISourceBlock<TOutput>.ReserveMessage 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í.
Llamado por un vinculado ITargetBlock<TInput> para reservar un objeto ofrecido DataflowMessageHeader anteriormente por este 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 del mensaje que se va a reservar.
- target
- ITargetBlock<TOutput>
Reserva ITargetBlock<TInput> del mensaje.
Devoluciones
true si el mensaje se reservó correctamente; de lo contrario, false.
Excepciones
no messageHeader es válido.
El target es null.
Comentarios
Solo ITargetBlock<TInput> las instancias vinculadas a esta ISourceBlock<TOutput> instancia pueden usar ReserveMessagey solo se deben usar para reservar DataflowMessageHeader instancias ofrecidas anteriormente por este origen al destino.
Si true se devuelve , ITargetBlock<TInput> debe llamar posteriormente a ConsumeMessage o ReleaseReservation para este mensaje. Si no lo hace, es posible que el origen no pueda propagar ningún mensaje adicional a este u otros destinos.
ReserveMessage no debe llamarse mientras el destino contiene ningún bloqueo interno. Si lo hace, se infringirá la jerarquía de bloqueo necesaria para evitar interbloqueos en una red de flujo de datos.