共用方式為


BatchedJoinBlock<T1,T2,T3>.ISourceBlock<Tuple<IList<T1>,IList<T2>,IList<T3>>>.ReserveMessage 方法

定義

保留將 DataflowMessageHeader 所識別的訊息擁有權,從此 ISourceBlock<TOutput> 傳遞到 ITargetBlock<TInput> 的權利。

 virtual bool System.Threading.Tasks.Dataflow.ISourceBlock<System.Tuple<System.Collections.Generic.IList<T1>,System.Collections.Generic.IList<T2>,System.Collections.Generic.IList<T3>>>.ReserveMessage(System::Threading::Tasks::Dataflow::DataflowMessageHeader messageHeader, System::Threading::Tasks::Dataflow::ITargetBlock<Tuple<System::Collections::Generic::IList<T1> ^, System::Collections::Generic::IList<T2> ^, System::Collections::Generic::IList<T3> ^> ^> ^ target) = System::Threading::Tasks::Dataflow::ISourceBlock<Tuple<System::Collections::Generic::IList<T1> ^, System::Collections::Generic::IList<T2> ^, System::Collections::Generic::IList<T3> ^> ^>::ReserveMessage;
bool ISourceBlock<Tuple<IList<T1>,IList<T2>,IList<T3>>>.ReserveMessage (System.Threading.Tasks.Dataflow.DataflowMessageHeader messageHeader, System.Threading.Tasks.Dataflow.ITargetBlock<Tuple<System.Collections.Generic.IList<T1>,System.Collections.Generic.IList<T2>,System.Collections.Generic.IList<T3>>> target);
abstract member System.Threading.Tasks.Dataflow.ISourceBlock<System.Tuple<System.Collections.Generic.IList<T1>,System.Collections.Generic.IList<T2>,System.Collections.Generic.IList<T3>>>.ReserveMessage : System.Threading.Tasks.Dataflow.DataflowMessageHeader * System.Threading.Tasks.Dataflow.ITargetBlock<System.Collections.Generic.IList<'T1> * System.Collections.Generic.IList<'T2> * System.Collections.Generic.IList<'T3>> -> bool
override this.System.Threading.Tasks.Dataflow.ISourceBlock<System.Tuple<System.Collections.Generic.IList<T1>,System.Collections.Generic.IList<T2>,System.Collections.Generic.IList<T3>>>.ReserveMessage : System.Threading.Tasks.Dataflow.DataflowMessageHeader * System.Threading.Tasks.Dataflow.ITargetBlock<System.Collections.Generic.IList<'T1> * System.Collections.Generic.IList<'T2> * System.Collections.Generic.IList<'T3>> -> bool
Function ReserveMessage (messageHeader As DataflowMessageHeader, target As ITargetBlock(Of Tuple(Of IList(Of T1), IList(Of T2), IList(Of T3)))) As Boolean Implements ISourceBlock(Of Tuple(Of IList(Of T1), IList(Of T2), IList(Of T3))).ReserveMessage

參數

messageHeader
DataflowMessageHeader

要保留的訊息的 DataflowMessageHeader

target
ITargetBlock<Tuple<IList<T1>,IList<T2>,IList<T3>>>

要保留訊息的 ITargetBlock<TInput>

傳回

如果成功保留訊息,則為 true,否則為false

實作

例外狀況

messageHeader 無效。

targetnull (在 Visual Basic 中則為 Nothing)。

備註

ITargetBlock<TInput>要保留訊息的 ,不需要從這個 ISourceBlock<TOutput> 實例連結。 此外,這個 ISourceBlock<TOutput> 實例可能從未將訊息直接 ITargetBlock<TInput> 提供給 。

如果 true 傳回 ,您後續必須針對具有相同 DataflowMessageHeaderITargetBlock<TInput> 的這個訊息呼叫 ConsumeMessageReleaseReservation 。 如果您未這麼做,來源可能無法將任何進一步的訊息傳播至任何目標。

當目標持有任何內部鎖定時,請勿呼叫 ReserveMessage 。 這麼做會違反在資料流程網路中避免死結所需的鎖定階層。

適用於