Freigeben über


BufferBlock<T>.ITargetBlock<T>.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.

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

Parameter

messageHeader
DataflowMessageHeader

Eine DataflowMessageHeader-Instanz, die die Header der Nachricht darstellt, die bereitgestellt wird.

messageValue
T

Der Wert der Nachricht, die bereitgestellt wird.

source
ISourceBlock<T>

Die ISourceBlock<TOutput>, die die Nachricht anbietet. Dieser Wert kann null sein.

consumeToAccept
Boolean

Legen Sie dies auf TRUE fest, 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 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 andernfalls die Meldung zurückgestellt hätte, aber source gleich 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.

Implementiert

Ausnahmen

Der messageHeader ist ungültig.

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

Gilt für: