ActionBlock<TInput>.ITargetBlock<TInput>.OfferMessage Methode

Definition

Bietet eine Nachricht an den Datenflussblock und gibt ihnen die Möglichkeit, die Nachricht zu nutzen oder zu verschieben.

 virtual System::Threading::Tasks::Dataflow::DataflowMessageStatus System.Threading.Tasks.Dataflow.ITargetBlock<TInput>.OfferMessage(System::Threading::Tasks::Dataflow::DataflowMessageHeader messageHeader, TInput messageValue, System::Threading::Tasks::Dataflow::ISourceBlock<TInput> ^ source, bool consumeToAccept) = System::Threading::Tasks::Dataflow::ITargetBlock<TInput>::OfferMessage;
System.Threading.Tasks.Dataflow.DataflowMessageStatus ITargetBlock<TInput>.OfferMessage(System.Threading.Tasks.Dataflow.DataflowMessageHeader messageHeader, TInput messageValue, System.Threading.Tasks.Dataflow.ISourceBlock<TInput> source, bool consumeToAccept);
abstract member System.Threading.Tasks.Dataflow.ITargetBlock<TInput>.OfferMessage : System.Threading.Tasks.Dataflow.DataflowMessageHeader * 'Input * System.Threading.Tasks.Dataflow.ISourceBlock<'Input> * bool -> System.Threading.Tasks.Dataflow.DataflowMessageStatus
override this.System.Threading.Tasks.Dataflow.ITargetBlock<TInput>.OfferMessage : System.Threading.Tasks.Dataflow.DataflowMessageHeader * 'Input * System.Threading.Tasks.Dataflow.ISourceBlock<'Input> * bool -> System.Threading.Tasks.Dataflow.DataflowMessageStatus
Function OfferMessage (messageHeader As DataflowMessageHeader, messageValue As TInput, source As ISourceBlock(Of TInput), consumeToAccept As Boolean) As DataflowMessageStatus Implements ITargetBlock(Of TInput).OfferMessage

Parameter

messageHeader
DataflowMessageHeader

Die Kopfzeile der nachricht, die angeboten wird.

messageValue
TInput

Der Wert der angebotenen Nachricht.

source
ISourceBlock<TInput>

Der Datenflussblock, der die Nachricht anbietet. Dies kann sein null.

consumeToAccept
Boolean

truedas Ziel während des Aufrufs ConsumeMessage(DataflowMessageHeader, ITargetBlock<TOutput>, Boolean)synchron anweisen, OfferMessage(DataflowMessageHeader, TInput, ISourceBlock<TInput>, Boolean) vor der Rückgabe Acceptedan , um die Nachricht zu nutzen; andernfalls false.

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 eine Nachricht verschoben hätte, aber die Quelle war null, Declined wird 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.

Implementiert

Ausnahmen

messageHeader ist ungültig.

-oder- consumeToAccept kann nur sein, wenn eine Nicht-NULL-Angabe truevorhanden istsource.

Gilt für: