ITargetBlock<TInput>.OfferMessage 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.
Bietet dem Ziel die ITargetBlock<TInput>Möglichkeit, die Nachricht zu nutzen oder zu verschieben.
public System.Threading.Tasks.Dataflow.DataflowMessageStatus OfferMessage(System.Threading.Tasks.Dataflow.DataflowMessageHeader messageHeader, TInput messageValue, System.Threading.Tasks.Dataflow.ISourceBlock<in TInput> source, bool consumeToAccept);
public System.Threading.Tasks.Dataflow.DataflowMessageStatus OfferMessage(System.Threading.Tasks.Dataflow.DataflowMessageHeader messageHeader, TInput messageValue, System.Threading.Tasks.Dataflow.ISourceBlock<in TInput>? source, bool consumeToAccept);
abstract member OfferMessage : System.Threading.Tasks.Dataflow.DataflowMessageHeader * 'Input * System.Threading.Tasks.Dataflow.ISourceBlock<'Input> * bool -> System.Threading.Tasks.Dataflow.DataflowMessageStatus
Public Function OfferMessage (messageHeader As DataflowMessageHeader, messageValue As TInput, source As ISourceBlock(Of In TInput), consumeToAccept As Boolean) As DataflowMessageStatus
Parameter
- messageHeader
- DataflowMessageHeader
Eine DataflowMessageHeader Instanz, die die Kopfzeile der angebotenen Nachricht darstellt.
- messageValue
- TInput
Der Wert der angebotenen Nachricht.
- source
- ISourceBlock<TInput>
Das ISourceBlock<TOutput> Angebot der Nachricht. Dies kann null sein.
- consumeToAccept
- Boolean
Legen Sie fest, true dass das Ziel während des Aufrufs ConsumeMessage(DataflowMessageHeader, ITargetBlock<TOutput>, Boolean)synchron aufgerufen OfferMessage(DataflowMessageHeader, TInput, ISourceBlock<TInput>, Boolean) werden soll, bevor sie zurückgegeben Acceptedwird, um die Nachricht zu nutzen.
Gibt zurück
Der Status der angebotenen Nachricht. Wenn die Nachricht vom Ziel akzeptiert wurde, Accepted wird sie zurückgegeben, und die Quelle sollte die angebotene Nachricht nicht mehr verwenden, da sie sich jetzt im Besitz des Ziels befindet. Wenn die Nachricht vom Ziel verschoben wurde, wird sie als Benachrichtigung zurückgegeben, Postponed dass das Ziel später versuchen kann, die Nachricht zu nutzen oder zu reservieren. In der Zwischenzeit besitzt die Quelle weiterhin die Nachricht und kann sie anderen Blöcken anbieten.
Wenn das Ziel andernfalls die Nachricht verschoben hätte, aber die Quelle lautete null, Declined wird stattdessen zurückgegeben.
Wenn das Ziel versucht hat, die Nachricht zu akzeptieren, sie aber aufgrund der Quelle, die die Nachricht an ein anderes Ziel weitergibt, verpasst oder einfach verworfen wurde, NotAvailable wird zurückgegeben.
Wenn das Ziel ausgewählt hat, die Nachricht nicht zu akzeptieren, Declined wird diese zurückgegeben. Wenn das Ziel die Nachricht nicht akzeptiert und nie eine andere Nachricht von dieser Quelle akzeptiert, DecliningPermanently wird diese zurückgegeben.
Ausnahmen
Dies messageHeader ist ungültig.
-oder- consumeToAccept kann nur true sein, wenn eine Nicht-NULL-Angabe sourcevorhanden ist.