ISourceBlock<TOutput>.ReserveMessage Metode

Definisi

Dipanggil oleh yang ditautkan ITargetBlock<TInput> untuk memesan yang sebelumnya ditawarkan DataflowMessageHeader oleh ini 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

Parameter

messageHeader
DataflowMessageHeader

Pesan DataflowMessageHeader yang dicadangkan.

target
ITargetBlock<TOutput>

Yang ITargetBlock<TInput> menservasi pesan.

Mengembalikan

true jika pesan berhasil dicadangkan; jika tidak, false.

Pengecualian

Tidak messageHeader valid.

target adalah null.

Keterangan

Hanya ITargetBlock<TInput> instans yang ditautkan ke instans ini ISourceBlock<TOutput> yang dapat menggunakan ReserveMessage, dan hanya boleh digunakan untuk memesan DataflowMessageHeader instans yang sebelumnya ditawarkan oleh sumber ini ke target.

Jika true dikembalikan, ITargetBlock<TInput> selanjutnya harus memanggil ConsumeMessage atau ReleaseReservation untuk pesan ini. Kegagalan untuk melakukannya dapat mengakibatkan sumber tidak dapat menyebarluaskan pesan lebih lanjut ke target ini atau lainnya.

ReserveMessage tidak boleh dipanggil saat target memegang kunci internal apa pun. Melakukannya akan melanggar hierarki kunci yang diperlukan untuk menghindari kebuntuan dalam jaringan aliran data.

Berlaku untuk