ISourceBlock<TOutput>.ReserveMessage Methode
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.
Wird von einem verknüpften ITargetBlock<TInput>, um einen DataflowMessageHeader, der von diesem ISourceBlock<TOutput> zuvor angeboten wurde, zu 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
- messageHeader
- DataflowMessageHeader
DataflowMessageHeader der Meldung, die reserviert wird.
- target
- ITargetBlock<TOutput>
Die ITargetBlock<TInput> der Meldung empfängt.
true
, wenn die Nachricht erfolgreich reserviert wurde, andernfalls false
.
Der messageHeader
ist ungültig.
target
ist null
.
Nur ITargetBlock<TInput> Instanzen, die mit dieser ISourceBlock<TOutput> Instanz verknüpft sind, können verwenden ReserveMessage, und es darf nur verwendet werden, um Instanzen zu reservieren DataflowMessageHeader , die zuvor von dieser Quelle für das Ziel angeboten wurden.
Wenn true
zurückgegeben wird, muss anschließend ITargetBlock<TInput> entweder ConsumeMessage oder ReleaseReservation für diese Nachricht aufgerufen werden. Andernfalls kann die Quelle keine weiteren Nachrichten an dieses oder andere Ziele weitergeben.
ReserveMessage darf nicht aufgerufen werden, während das Ziel interne Sperren enthält. Dadurch wird die Sperrhierarchie verletzt, die erforderlich ist, um Deadlocks in einem Dataflownetzwerk zu vermeiden.
Produkt | Versionen |
---|---|
.NET | Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8 (package-provided), 8, 9 (package-provided), 9, 10 (package-provided), 10 |
.NET Standard | 2.0 (package-provided), 2.1 (package-provided) |
UWP | 10.0 |
Feedback zu .NET
.NET ist ein Open Source-Projekt. Wählen Sie einen Link aus, um Feedback zu geben: