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

Definition

Gibt dem Datenflussblock eine Meldung und gibt ihm die Möglichkeit, die Meldung zu verarbeiten oder hinauszuschieben.

 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

Der Header der Nachricht, die bereitgestellt wird.

messageValue
TInput

Der Wert der Nachricht, die bereitgestellt wird.

source
ISourceBlock<TInput>

Der Datenflussblock, der die Meldung angezeigt. Dieser Wert kann null sein.

consumeToAccept
Boolean

true, um das Ziel anzuweisen, ConsumeMessage(DataflowMessageHeader, ITargetBlock<TOutput>, Boolean) während des Aufrufs von OfferMessage(DataflowMessageHeader, TInput, ISourceBlock<TInput>, Boolean) vor der Rückgabe von Accepted zur Verarbeitung der Meldung synchron aufzurufen; andernfalls false.

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 andernfalls die Meldung zurückgestellt hätte, aber die Quelle null war, wird 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.

Implementiert

Ausnahmen

messageHeader ist nicht gültig.

oder consumeToAccept kann nur true sein, wenn eine source bereitgestellt wird, die nicht NULL ist.

Gilt für: