Поделиться через


ITargetBlock<TInput>.OfferMessage Метод

Определение

Предлагает сообщение блоку ITargetBlock<TInput>, предоставляя целевому объекту возможность использовать или отложить его.

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

Параметры

messageHeader
DataflowMessageHeader

Экземпляр DataflowMessageHeader, представляющий заголовок предлагаемого сообщения.

messageValue
TInput

Значение предлагаемого свойства.

source
ISourceBlock<TInput>

ISourceBlock<TOutput>, предлагающий сообщение. Может содержать пустое значение.

consumeToAccept
Boolean

Значение true для синхронного вызова целевым объектом метода ConsumeMessage(DataflowMessageHeader, ITargetBlock<TOutput>, Boolean) во время вызова метода OfferMessage(DataflowMessageHeader, TInput, ISourceBlock<TInput>, Boolean) до возврата Accepted, чтобы использовать сообщение.

Возвращаемое значение

Состояние предложенного сообщения. Если сообщение было принято целевым объектом, возвращается Accepted и источник больше не должен использовать предложенное сообщение, поскольку оно теперь принадлежит целевому объекту. Если сообщение было отложено целевым объектом, возвращается Postponed в качестве уведомления о том, что целевой объект может позже попытаться использовать или зарезервировать сообщение; при этом источник будет по-прежнему владеть сообщением и может предлагать его другим блокам.

Если в противном случае целевой объект отложил бы сообщение, но источником служил null, возвращается значение Declined.

Если целевой объект попытался принять сообщение, но не получил его из-за доставки сообщения источником другому целевому объекту или просто отбрасывания сообщения источником, возвращается NotAvailable.

Если целевой объект принял решение не принимать сообщение, возвращается Declined. Если целевой объект принял решение не принимать сообщение и никогда не будет принимать другие сообщения от этого источника, возвращается DecliningPermanently.

Исключения

Недопустимое значение messageHeader.

-или- параметр consumeToAccept может иметь значение true, только если для него предоставлен параметр source со значением, отличным от значения NULL.

Применяется к