ISourceBlock<TOutput>.ReserveMessage Methode
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Aufgerufen von einem verknüpften ITargetBlock<TInput> , um ein zuvor angebotenes DataflowMessageHeader Angebot zu ISourceBlock<TOutput>reservieren.
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
Parameter
- messageHeader
- DataflowMessageHeader
Die DataflowMessageHeader Nachricht, die reserviert wird.
- target
- ITargetBlock<TOutput>
Die ITargetBlock<TInput> Nachricht wird reserviert.
Gibt zurück
truewenn die Nachricht erfolgreich reserviert wurde; andernfalls . false
Ausnahmen
Dies messageHeader ist ungültig.
target ist null.
Hinweise
Nur ITargetBlock<TInput> Instanzen, die mit dieser ISourceBlock<TOutput> Instanz verknüpft sind, können verwendet ReserveMessagewerden, und sie darf nur verwendet werden, um Instanzen zu reservieren DataflowMessageHeader , die zuvor von dieser Quelle für das Ziel angeboten wurden.
Wenn true dieser Wert zurückgegeben wird, muss die ITargetBlock<TInput> Nachricht anschließend entweder ConsumeMessage oder ReleaseReservation für diese Nachricht aufgerufen werden. Dies kann dazu führen, dass die Quelle keine weiteren Nachrichten an diese oder andere Ziele weitergeben kann.
ReserveMessage darf nicht aufgerufen werden, während das Ziel interne Sperren hält. Dadurch wird die Sperrhierarchie verletzt, die erforderlich ist, um Deadlocks in einem Datenflussnetzwerk zu vermeiden.