IReplyChannel.WaitForRequest(TimeSpan) 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.
Mengembalikan nilai yang menunjukkan apakah pesan permintaan diterima sebelum interval waktu yang ditentukan berlalu.
public:
bool WaitForRequest(TimeSpan timeout);
public bool WaitForRequest (TimeSpan timeout);
abstract member WaitForRequest : TimeSpan -> bool
Public Function WaitForRequest (timeout As TimeSpan) As Boolean
Parameter
- timeout
- TimeSpan
TimeSpan yang menentukan berapa lama operasi permintaan harus diselesaikan sebelum waktu habis dan mengembalikan false
.
Mengembalikan
true
jika permintaan diterima sebelum interval waktu yang ditentukan berlalu; jika tidak false
.
Contoh
Kode berikut mengilustrasikan cara menerapkan metode ini:
public bool WaitForRequest(TimeSpan timeout)
{
return this.InnerChannel.WaitForRequest(timeout);
}
Keterangan
WaitForRequest(TimeSpan) Panggilan tidak mengakibatkan pesan permintaan diterima atau diproses dengan cara apa pun.
Metode ini BeginWaitForRequest(TimeSpan, AsyncCallback, Object) terutama ada untuk skenario yang ditransaksikan di mana pengguna ingin menerima pesan menggunakan transaksi. Ketika menggunakan ReceiveRequest hanya secara normal untuk ini, pengguna harus membuat transaksi, dan kemudian memanggil ReceiveRequest dan berharap pesan tiba sebelum waktu transaksi habis, yang mungkin tidak mungkin.
Sebagai gantinya, pengguna dapat memanggil WaitForRequest(TimeSpan) dan menentukan waktu habis (bahkan tak terbatas), maka ketika pesan tiba, mereka dapat membuka transaksi, memanggil ReceiveRequest , dan yakin bahwa mereka bisa mendapatkan pesan kembali sebelum transaksi kedaluwarsa.
Gunakan WaitForRequest(TimeSpan) ketika dapat diterima agar utas saat ini diblokir saat menunggu pesan tiba dalam antrean. Utas diblokir hingga yang ditentukan timeout
. Jika Anda memerlukan pemrosesan aplikasi untuk melanjutkan tanpa menunggu, gunakan metode asinkron BeginWaitForRequest(TimeSpan, AsyncCallback, Object) .
Catatan Bagi Implementer
Operasi mengembalikan false
jika yang ditentukan timeout
terlampaui.