ITargetBlock<TInput>.OfferMessage Methode

Definition

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.

Gilt für: