IInputChannel.Receive 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 pesan yang diterima oleh saluran input, jika pesan tersedia dengan interval waktu yang ditentukan secara eksplisit atau implisit.
Overload
Receive() |
Mengembalikan pesan yang diterima, jika tersedia. Jika pesan tidak tersedia, blokir untuk interval waktu default. |
Receive(TimeSpan) |
Mengembalikan pesan yang diterima, jika tersedia. Jika pesan tidak tersedia, blokir untuk interval waktu tertentu. |
Keterangan
Gunakan metode sinkron Receive ketika dapat diterima agar utas saat ini diblokir hingga menerima pesan permintaan atau melebihi interval waktu yang ditentukan oleh timeout
. Gunakan metode asinkron BeginReceive saat Anda memerlukan pemrosesan aplikasi untuk melanjutkan tanpa menunggu permintaan diterima.
Operasi sinkron Receive tersedia dengan atau tanpa batas waktu eksplisit.
Jika pesan tidak tersedia, pesan akan diblokir hingga pesan tersedia atau hingga batas waktu terlampaui.
Receive()
- Sumber:
- IInputChannel.cs
- Sumber:
- IInputChannel.cs
Mengembalikan pesan yang diterima, jika tersedia. Jika pesan tidak tersedia, blokir untuk interval waktu default.
public:
System::ServiceModel::Channels::Message ^ Receive();
public System.ServiceModel.Channels.Message Receive ();
abstract member Receive : unit -> System.ServiceModel.Channels.Message
Public Function Receive () As Message
Mengembalikan
Yang Message diterima.
Contoh
Kode berikut mengilustrasikan cara menerapkan metode ini:
public Message Receive()
{
return Receive(DefaultReceiveTimeout);
}
Keterangan
Gunakan metode sinkron Receive ketika dapat diterima agar utas saat ini diblokir hingga menerima pesan permintaan atau melebihi interval waktu yang ditentukan oleh timeout
. Gunakan metode asinkron BeginReceive ketika Anda ingin pemrosesan aplikasi dilanjutkan tanpa menunggu permintaan diterima.
Operasi sinkron Receive tersedia dengan atau tanpa batas waktu eksplisit.
Jika pesan tidak tersedia, pesan akan diblokir hingga pesan tersedia atau hingga batas waktu terlampaui.
Receive dapat dipanggil beberapa kali atau secara bersamaan. Hanya satu Receive panggilan yang dapat diselesaikan untuk setiap pesan yang diterima.
Berlaku untuk
Receive(TimeSpan)
- Sumber:
- IInputChannel.cs
- Sumber:
- IInputChannel.cs
Mengembalikan pesan yang diterima, jika tersedia. Jika pesan tidak tersedia, blokir untuk interval waktu tertentu.
public:
System::ServiceModel::Channels::Message ^ Receive(TimeSpan timeout);
public System.ServiceModel.Channels.Message Receive (TimeSpan timeout);
abstract member Receive : TimeSpan -> System.ServiceModel.Channels.Message
Public Function Receive (timeout As TimeSpan) As Message
Parameter
- timeout
- TimeSpan
TimeSpan yang menentukan berapa lama operasi terima harus diselesaikan sebelum waktu habis dan membuang TimeoutException.
Mengembalikan
Yang Message diterima.
Pengecualian
Yang ditentukan timeout
terlampaui sebelum operasi selesai.
Batas waktu yang ditentukan kurang dari nol.
Contoh
Kode berikut mengilustrasikan cara menerapkan metode ini:
public Message Receive(TimeSpan timeout)
{
Message message;
while (true)
{
message = this.InnerChannel.Receive(timeout);
if (ProcessReceivedMessage(ref message))
{
break;
}
}
return message;
}
Keterangan
Gunakan metode sinkron Receive ketika dapat diterima agar utas saat ini diblokir hingga menerima pesan permintaan atau melebihi interval waktu yang ditentukan oleh timeout
. Gunakan metode asinkron BeginReceive ketika Anda ingin pemrosesan aplikasi dilanjutkan tanpa menunggu permintaan diterima.
Operasi sinkron Receive tersedia dengan atau tanpa batas waktu eksplisit.
Jika pesan tidak tersedia, pesan akan diblokir hingga pesan tersedia atau hingga batas waktu terlampaui.
Receive dapat dipanggil beberapa kali atau secara bersamaan. Hanya satu Receive panggilan yang dapat diselesaikan untuk setiap pesan yang diterima.