ITargetBlock<TInput>.OfferMessage Methode

Definition

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.

Gilt für: