Share via


IReplyChannel.WaitForRequest(TimeSpan) Metode

Definisi

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.

Berlaku untuk