Bagikan melalui


Stream.EndRead(IAsyncResult) Metode

Definisi

Menunggu pembacaan asinkron yang tertunda selesai. (Pertimbangkan untuk menggunakan ReadAsync(Byte[], Int32, Int32) sebagai gantinya.)

public:
 virtual int EndRead(IAsyncResult ^ asyncResult);
public virtual int EndRead (IAsyncResult asyncResult);
abstract member EndRead : IAsyncResult -> int
override this.EndRead : IAsyncResult -> int
Public Overridable Function EndRead (asyncResult As IAsyncResult) As Integer

Parameter

asyncResult
IAsyncResult

Referensi ke permintaan asinkron yang tertunda untuk diselesaikan.

Mengembalikan

Jumlah byte yang dibaca dari aliran, antara nol (0) dan jumlah byte yang diminta. ReadAsync mengembalikan nol (0) hanya jika nol byte diminta atau jika tidak ada lagi byte yang akan tersedia karena berada di akhir aliran; jika tidak, operasi baca tidak selesai sampai setidaknya satu byte tersedia. Jika tidak ada byte yang diminta, operasi baca dapat segera selesai atau mungkin tidak selesai sampai setidaknya satu byte tersedia (tetapi tanpa mengonsumsi data apa pun).

Pengecualian

asyncResultadalah null.

Handel ke operasi baca yang tertunda tidak tersedia.

-atau-

Operasi tertunda tidak mendukung pembacaan.

asyncResult tidak berasal dari BeginRead(Byte[], Int32, Int32, AsyncCallback, Object) metode pada aliran saat ini.

Aliran ditutup atau terjadi kesalahan internal.

Keterangan

Dalam .NET Framework 4 dan versi yang lebih lama, Anda harus menggunakan metode seperti BeginRead dan EndRead untuk menerapkan operasi I/O asinkron. Metode ini masih tersedia di .NET Framework 4.5 untuk mendukung kode warisan; namun, metode asinkron baru, seperti ReadAsync, , WriteAsyncCopyToAsync, dan FlushAsync, membantu Anda menerapkan operasi I/O asinkron dengan lebih mudah.

Panggilan EndRead untuk menentukan berapa banyak byte yang dibaca dari aliran.

EndRead dapat dipanggil sekali pada setiap IAsyncResult dari BeginRead.

Metode ini memblokir hingga operasi I/O selesai.

Berlaku untuk

Lihat juga