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> сообщения. Это может быть null.
- consumeToAccept
- Boolean
Задайте для true указания целевому объекту ConsumeMessage(DataflowMessageHeader, ITargetBlock<TOutput>, Boolean) синхронно во время вызова OfferMessage(DataflowMessageHeader, TInput, ISourceBlock<TInput>, Boolean)перед возвратом Acceptedсообщения.
Возвращаемое значение
Состояние предлагаемого сообщения. Если сообщение было принято целевым объектом, возвращается и Accepted источник больше не должен использовать предлагаемое сообщение, так как он теперь принадлежит целевому объекту. Если сообщение было отложено целевым объектом, возвращается в виде уведомления о Postponed том, что целевой объект может позже попытаться использовать или зарезервировать сообщение; в то же время источник по-прежнему владеет сообщением и может предложить его другим блокам.
Если целевой объект в противном случае отложил сообщение, но источник nullбыл, Declined возвращается.
Если целевой объект пытался принять сообщение, но пропустил его из-за источника доставки сообщения другому целевому объекту или просто отменив его, NotAvailable возвращается.
Если целевой объект не принял сообщение, Declined возвращается. Если целевой объект не принимает сообщение и никогда не принимает другое сообщение из этого источника, DecliningPermanently возвращается.
Исключения
Недопустимый messageHeader параметр.
-или- consumeToAccept может быть истинным только в том случае, если указано ненулевое sourceзначение.