ITargetBlock<TInput>.OfferMessage 方法
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
向 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。