IInputChannel.BeginReceive 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.
Memulai operasi penerimaan asinkron.
Overload
BeginReceive(AsyncCallback, Object) |
Memulai operasi asinkron untuk menerima pesan yang memiliki objek status yang terkait dengannya. |
BeginReceive(TimeSpan, AsyncCallback, Object) |
Memulai operasi asinkron untuk menerima pesan yang memiliki waktu habis yang ditentukan dan objek status yang terkait dengannya. |
Keterangan
Gunakan metode asinkron BeginReceive saat Anda ingin pemrosesan aplikasi dilanjutkan tanpa menunggu permintaan diterima. Gunakan metode sinkron Receive ketika dapat diterima agar utas saat ini diblokir hingga pesan permintaan diterima atau interval waktu yang ditentukan oleh timeout
telah terlampaui. Operasi asinkron tersedia dengan atau tanpa batas waktu eksplisit.
BeginReceive(AsyncCallback, Object)
- Sumber:
- IInputChannel.cs
Memulai operasi asinkron untuk menerima pesan yang memiliki objek status yang terkait dengannya.
public:
IAsyncResult ^ BeginReceive(AsyncCallback ^ callback, System::Object ^ state);
public IAsyncResult BeginReceive (AsyncCallback callback, object state);
abstract member BeginReceive : AsyncCallback * obj -> IAsyncResult
Public Function BeginReceive (callback As AsyncCallback, state As Object) As IAsyncResult
Parameter
- callback
- AsyncCallback
AsyncCallback Delegasi yang menerima pemberitahuan penyelesaian operasi asinkron.
- state
- Object
Objek, yang ditentukan oleh aplikasi, yang berisi informasi status yang terkait dengan operasi asinkron.
Mengembalikan
IAsyncResult yang mereferensikan penerimaan pesan asinkron.
Contoh
Kode berikut menggambarkan cara menerapkan metode ini:
public IAsyncResult BeginReceive(AsyncCallback callback, object state)
{
return BeginReceive(DefaultReceiveTimeout, callback, state);
}
Keterangan
Gunakan metode asinkron BeginReceive saat Anda ingin pemrosesan aplikasi dilanjutkan tanpa menunggu permintaan diterima. Gunakan metode sinkron Receive ketika dapat diterima agar utas saat ini diblokir hingga pesan permintaan diterima atau interval waktu yang ditentukan oleh timeout
telah terlampaui. Operasi asinkron tersedia dengan atau tanpa batas waktu eksplisit.
Metode ini menerima pemberitahuan, melalui panggilan balik, identitas penanganan aktivitas untuk operasi. Operasi tidak selesai sampai pesan tersedia di saluran.
Berlaku untuk
BeginReceive(TimeSpan, AsyncCallback, Object)
- Sumber:
- IInputChannel.cs
Memulai operasi asinkron untuk menerima pesan yang memiliki waktu habis yang ditentukan dan objek status yang terkait dengannya.
public:
IAsyncResult ^ BeginReceive(TimeSpan timeout, AsyncCallback ^ callback, System::Object ^ state);
public IAsyncResult BeginReceive (TimeSpan timeout, AsyncCallback callback, object state);
abstract member BeginReceive : TimeSpan * AsyncCallback * obj -> IAsyncResult
Public Function BeginReceive (timeout As TimeSpan, callback As AsyncCallback, state As Object) As IAsyncResult
Parameter
- callback
- AsyncCallback
AsyncCallback Delegasi yang menerima pemberitahuan penyelesaian operasi asinkron.
- state
- Object
Objek, yang ditentukan oleh aplikasi, yang berisi informasi status yang terkait dengan operasi asinkron.
Mengembalikan
IAsyncResult yang mereferensikan operasi penerimaan asinkron.
Pengecualian
Yang ditentukan timeout
terlampaui sebelum operasi selesai.
Batas waktu yang ditentukan kurang dari nol.
Contoh
Kode berikut menggambarkan cara menerapkan metode ini:
public IAsyncResult BeginReceive(TimeSpan timeout, AsyncCallback callback, object state)
{
ReceiveAsyncResult<TChannel> result = new ReceiveAsyncResult<TChannel>(this, timeout, callback, state);
result.Begin();
return result;
}
Keterangan
Gunakan metode asinkron BeginReceive saat Anda ingin pemrosesan aplikasi dilanjutkan tanpa menunggu permintaan diterima. Gunakan metode sinkron Receive ketika dapat diterima agar utas saat ini diblokir hingga pesan permintaan diterima atau interval waktu yang ditentukan oleh timeout
telah terlampaui. Operasi asinkron tersedia dengan atau tanpa batas waktu eksplisit.
Operasi tidak selesai sampai pesan tersedia di saluran atau waktu habis terjadi.
Catatan Bagi Implementer
Operasi melempar TimeoutException jika yang ditentukan timeout
terlampaui sebelum selesai.