ITargetBlock<TInput>.OfferMessage Metoda
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Oferuje komunikat do ITargetBlock<TInput>obiektu , dając docelową możliwość korzystania lub odroczenia wiadomości.
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
Parametry
- messageHeader
- DataflowMessageHeader
DataflowMessageHeader Wystąpienie reprezentujące nagłówek oferowanego komunikatu.
- messageValue
- TInput
Wartość oferowanego komunikatu.
- source
- ISourceBlock<TInput>
Oferta ISourceBlock<TOutput> wiadomości. Może to być wartość null.
- consumeToAccept
- Boolean
Ustaw wartość , aby true
instruować element docelowy w celu wywołania ConsumeMessage(DataflowMessageHeader, ITargetBlock<TOutput>, Boolean) synchronicznie podczas wywołania metody OfferMessage(DataflowMessageHeader, TInput, ISourceBlock<TInput>, Boolean), przed zwróceniem Acceptedpolecenia , aby korzystać z komunikatu.
Zwraca
Stan oferowanej wiadomości. Jeśli komunikat został zaakceptowany przez element docelowy, Accepted zostanie zwrócony, a źródło nie powinno już używać oferowanego komunikatu, ponieważ jest teraz własnością obiektu docelowego. Jeśli wiadomość została odroczona przez obiekt docelowy, Postponed zostanie zwrócona jako powiadomienie, że docelowy element docelowy może później podjąć próbę użycia lub zarezerwowania wiadomości; w międzyczasie źródło nadal jest właścicielem komunikatu i może zaoferować go innym blokom.
Jeśli element docelowy w przeciwnym razie odroczyłby komunikat, ale źródło było null
, Declined zamiast tego zostanie zwrócone.
Jeśli element docelowy próbował zaakceptować komunikat, ale nie został on pominięty ze względu na źródło dostarczające komunikat do innego obiektu docelowego lub po prostu go odrzucić, NotAvailable jest zwracany.
Jeśli element docelowy nie zaakceptował wiadomości, Declined zostanie zwrócony. Jeśli element docelowy nie zaakceptował wiadomości i nigdy nie zaakceptuje innego komunikatu z tego źródła, DecliningPermanently zostanie zwrócony.
Wyjątki
Wartość jest nieprawidłowa messageHeader
.
-or - consumeToAccept
może być prawdziwe tylko w przypadku podania wartości innej niż null source
.