JoinBlock<T1,T2,T3>.ISourceBlock<Tuple<T1,T2,T3>>.ReserveMessage Methode

Definition

Behält sich das Recht vor, den Besitz der nachricht zu übergeben, die DataflowMessageHeader von dieser ISourceBlock<TOutput> an die ITargetBlock<TInput>.

 virtual bool System.Threading.Tasks.Dataflow.ISourceBlock<System.Tuple<T1,T2,T3>>.ReserveMessage(System::Threading::Tasks::Dataflow::DataflowMessageHeader messageHeader, System::Threading::Tasks::Dataflow::ITargetBlock<Tuple<T1, T2, T3> ^> ^ target) = System::Threading::Tasks::Dataflow::ISourceBlock<Tuple<T1, T2, T3> ^>::ReserveMessage;
bool ISourceBlock<Tuple<T1,T2,T3>>.ReserveMessage(System.Threading.Tasks.Dataflow.DataflowMessageHeader messageHeader, System.Threading.Tasks.Dataflow.ITargetBlock<Tuple<T1,T2,T3>> target);
abstract member System.Threading.Tasks.Dataflow.ISourceBlock<System.Tuple<T1,T2,T3>>.ReserveMessage : System.Threading.Tasks.Dataflow.DataflowMessageHeader * System.Threading.Tasks.Dataflow.ITargetBlock<'T1 * 'T2 * 'T3> -> bool
override this.System.Threading.Tasks.Dataflow.ISourceBlock<System.Tuple<T1,T2,T3>>.ReserveMessage : System.Threading.Tasks.Dataflow.DataflowMessageHeader * System.Threading.Tasks.Dataflow.ITargetBlock<'T1 * 'T2 * 'T3> -> bool
Function ReserveMessage (messageHeader As DataflowMessageHeader, target As ITargetBlock(Of Tuple(Of T1, T2, T3))) As Boolean Implements ISourceBlock(Of Tuple(Of T1, T2, T3)).ReserveMessage

Parameter

messageHeader
DataflowMessageHeader

Die DataflowMessageHeader Nachricht, die reserviert werden soll.

target
ITargetBlock<Tuple<T1,T2,T3>>

Die ITargetBlock<TInput> Nachricht, für die die Nachricht reserviert werden soll.

Gibt zurück

truewenn die Nachricht erfolgreich reserviert wurde; andernfalls . false

Implementiert

Ausnahmen

Dies messageHeader ist ungültig.

Die target ist null (Nichts in Visual Basic).

Hinweise

Die ITargetBlock<TInput> Nachricht, für die reserviert werden soll, muss nicht mit dieser ISourceBlock<TOutput> Instanz verknüpft werden. Darüber hinaus hat diese ISourceBlock<TOutput> Instanz die Nachricht möglicherweise nie direkt für die ITargetBlock<TInput>Nachricht angeboten.

Wenn true sie zurückgegeben wird, müssen Sie anschließend entweder ConsumeMessage oder ReleaseReservation für diese Nachricht mit demselben und DataflowMessageHeaderdemselben ITargetBlock<TInput> anrufen. Wenn Dies nicht der Fall ist, kann die Quelle keine weiteren Nachrichten an ein Ziel weitergeben.

Rufen Sie nicht auf ReserveMessage , während das Ziel interne Sperren hält. Dadurch wird die Sperrhierarchie verletzt, die erforderlich ist, um Deadlocks in einem Datenflussnetzwerk zu vermeiden.

Gilt für: