ISourceBlock<TOutput>.ReserveMessage 方法
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
由連結ITargetBlock<TInput>者致電預訂,之前由此DataflowMessageHeader服務ISourceBlock<TOutput>提供。
public:
bool ReserveMessage(System::Threading::Tasks::Dataflow::DataflowMessageHeader messageHeader, System::Threading::Tasks::Dataflow::ITargetBlock<TOutput> ^ target);
public bool ReserveMessage(System.Threading.Tasks.Dataflow.DataflowMessageHeader messageHeader, System.Threading.Tasks.Dataflow.ITargetBlock<out TOutput> target);
abstract member ReserveMessage : System.Threading.Tasks.Dataflow.DataflowMessageHeader * System.Threading.Tasks.Dataflow.ITargetBlock<'Output> -> bool
Public Function ReserveMessage (messageHeader As DataflowMessageHeader, target As ITargetBlock(Of Out TOutput)) As Boolean
參數
- messageHeader
- DataflowMessageHeader
DataflowMessageHeader訊息被保留。
- target
- ITargetBlock<TOutput>
保留 ITargetBlock<TInput> 訊息。
傳回
true若訊息成功預訂;否則,。 false
例外狀況
這個 messageHeader 並不成立。
target 是 null。
備註
只有 ITargetBlock<TInput> 與此 ISourceBlock<TOutput> 實例連結的實例才能使用 ReserveMessage,且必須僅用於保留 DataflowMessageHeader 此來源先前提供給目標的實例。
如果 true 回傳 ,則 ITargetBlock<TInput> 必須隨後呼叫 ConsumeMessage 或 ReleaseReservation 來取得此訊息。 若未如此,來源可能無法向此或其他目標傳遞進一步訊息。
ReserveMessage 目標持有任何內部鎖時不得呼叫。 這樣做會違反避免資料流網路死鎖所需的鎖階層結構。