ISourceBlock<TOutput>.ReserveMessage Metode
Definisi
Penting
Beberapa informasi terkait produk prarilis yang dapat diubah secara signifikan sebelum dirilis. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
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.