Bagikan melalui


IInputChannel.Receive Metode

Definisi

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

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

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.

Berlaku untuk