Aracılığıyla paylaş


ISourceBlock<TOutput>.ReserveMessage Yöntem

Tanım

Daha önce bu tarafından sunulan bir ayırmak için bağlı ITargetBlock<TInput> tarafından çağrılır DataflowMessageHeaderISourceBlock<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

Parametreler

messageHeader
DataflowMessageHeader

Ayrılmış DataflowMessageHeader iletinin.

target
ITargetBlock<TOutput>

İletiyi ITargetBlock<TInput> ayırma.

Döndürülenler

true ileti başarıyla ayrılmışsa; aksi takdirde , false.

Özel durumlar

messageHeader geçerli değil.

şeklindedir targetnull.

Açıklamalar

Yalnızca ITargetBlock<TInput> bu örneğe bağlı örnekler kullanabilir ReserveMessageve yalnızca daha önce bu ISourceBlock<TOutput> kaynak tarafından hedefte sunulan örnekleri ayırmak DataflowMessageHeader için kullanılmalıdır.

döndürülürsetrue, ITargetBlock<TInput> daha sonra bu ileti için veya ReleaseReservation çağrısı ConsumeMessage yapılmalıdır. Bunun yapılmaması, kaynağın bu veya diğer hedeflere başka ileti yayamamasına neden olabilir.

ReserveMessage hedef herhangi bir iç kilit tutarken çağrılmamalıdır. Bunun yapılması, veri akışı ağında kilitlenmeleri önlemek için gereken kilit hiyerarşisini ihlal eder.

Şunlara uygulanır