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 eine Meldung für ITargetBlock<TInput> an und gibt dem Ziel die Möglichkeit, die Nachricht zu verarbeiten oder zurückzustellen.
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 Header der Nachricht darstellt, die bereitgestellt wird.
- messageValue
- TInput
Der Wert der Nachricht, die bereitgestellt wird.
- source
- ISourceBlock<TInput>
Die ISourceBlock<TOutput>, die die Nachricht anbietet. Dies kann NULL sein.
- consumeToAccept
- Boolean
Auf true
festlegen, um das Ziel anzuweisen, ConsumeMessage(DataflowMessageHeader, ITargetBlock<TOutput>, Boolean) während des Aufrufs von OfferMessage(DataflowMessageHeader, TInput, ISourceBlock<TInput>, Boolean)Accepted synchron aufzurufen, um die Meldung zu verarbeiten.
Gibt zurück
Der Status der angebotenen Meldung. Wenn die Meldung vom Ziel akzeptiert wurde, wird Accepted zurückgegeben, und die Quelle sollte die angebotene Meldung nicht mehr verwenden, da sie jetzt dem Ziel gehört. Wenn die Nachricht vom Ziel zurückgestellt wurde, wird Postponed als Benachrichtigung zurückgegeben, dass das Ziel später möglicherweise versucht, die Nachricht zu verarbeiten oder zu reservieren. Zwischenzeitlich besitzt die Quelle die Nachricht weiterhin und bietet sie möglicherweise anderen Blöcke an.
Wenn das Ziel allerdings die Meldung zurückstellt, aber die Quelle null
war, wird stattdessen Declined zurückgegeben.
Wenn das Ziel versucht hat, die Nachricht zu akzeptieren, diese aber verpasst hat, weil die Quelle die die Meldung an ein anderes Ziel übermittelt oder einfach verworfen hat, wird NotAvailable zurückgegeben.
Wenn das Ziel beschlossen hat, die Nachricht nicht zu akzeptieren, wird Declined zurückgegeben. Wenn das Ziel beschlossen hat, die Meldung nicht zu akzeptieren und niemals eine weitere Meldung von dieser Quelle akzeptieren wird, wird DecliningPermanently zurückgegeben.
Ausnahmen
Der messageHeader
ist ungültig.
oder consumeToAccept
kann nur TRUE sein, wenn eine source
bereitgestellt wird, die nicht NULL ist.