DeflateStream.BeginRead(Byte[], Int32, Int32, AsyncCallback, Object) 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 baca asinkron. (Pertimbangkan untuk menggunakan metode sebagai gantinya ReadAsync(Byte[], Int32, Int32) .)
public:
override IAsyncResult ^ BeginRead(cli::array <System::Byte> ^ buffer, int offset, int count, AsyncCallback ^ asyncCallback, System::Object ^ asyncState);
public:
override IAsyncResult ^ BeginRead(cli::array <System::Byte> ^ array, int offset, int count, AsyncCallback ^ asyncCallback, System::Object ^ asyncState);
public override IAsyncResult BeginRead (byte[] buffer, int offset, int count, AsyncCallback? asyncCallback, object? asyncState);
public override IAsyncResult BeginRead (byte[] buffer, int offset, int count, AsyncCallback asyncCallback, object asyncState);
public override IAsyncResult BeginRead (byte[] array, int offset, int count, AsyncCallback asyncCallback, object asyncState);
override this.BeginRead : byte[] * int * int * AsyncCallback * obj -> IAsyncResult
override this.BeginRead : byte[] * int * int * AsyncCallback * obj -> IAsyncResult
Public Overrides Function BeginRead (buffer As Byte(), offset As Integer, count As Integer, asyncCallback As AsyncCallback, asyncState As Object) As IAsyncResult
Public Overrides Function BeginRead (array As Byte(), offset As Integer, count As Integer, asyncCallback As AsyncCallback, asyncState As Object) As IAsyncResult
Parameter
- bufferarray
- Byte[]
Array byte untuk membaca data.
- offset
- Int32
Offset byte untuk mulai membaca data dari aliran.
- count
- Int32
Jumlah maksimum byte yang akan dibaca.
- asyncCallback
- AsyncCallback
Panggilan balik asinkron opsional, yang akan dipanggil ketika operasi baca selesai.
- asyncState
- Object
Objek yang disediakan pengguna yang membedakan permintaan baca asinkron khusus ini dari permintaan lain.
Mengembalikan
Objek yang mewakili operasi baca asinkron, yang masih bisa tertunda.
Pengecualian
Metode mencoba membaca secara asinkron melewati akhir aliran, atau terjadi kesalahan disk.
Satu atau beberapa argumen tidak valid.
Metode dipanggil setelah aliran ditutup.
Implementasi saat ini DeflateStream tidak mendukung operasi baca.
Panggilan ini tidak dapat diselesaikan.
Keterangan
Penting
Mulai dari .NET 6, metode ini mungkin tidak membaca byte sebanyak yang diminta. Untuk informasi selengkapnya, lihat Bacaan parsial dan nol byte di DeflateStream, GZipStream, dan CryptoStream.
Dimulai dengan .NET Framework 4.5, Anda dapat melakukan operasi baca asinkron dengan menggunakan ReadAsync metode . Metode BeginRead ini masih tersedia dalam versi saat ini untuk mendukung kode warisan; namun, Anda dapat menerapkan operasi I/O asinkron dengan lebih mudah dengan menggunakan metode asinkron baru. Untuk mengetahui informasi selengkapnya, lihat I/O File Asinkron.
Teruskan IAsyncResult nilai kembali ke EndRead metode aliran untuk menentukan berapa banyak byte yang dibaca dan untuk merilis sumber daya sistem operasi yang digunakan untuk membaca. Anda dapat melakukan ini baik dengan menggunakan kode yang sama yang disebut BeginRead atau dalam panggilan balik yang diteruskan ke BeginRead.
Posisi saat ini dalam aliran diperbarui ketika operasi baca atau tulis asinkron dikeluarkan, bukan ketika operasi I/O selesai.
Beberapa permintaan asinkron simultan membuat pesanan penyelesaian permintaan tidak pasti.
CanRead Gunakan properti untuk menentukan apakah objek saat ini DeflateStream mendukung pembacaan.
Jika aliran ditutup atau Anda melewati argumen yang tidak valid, pengecualian langsung dilemparkan dari BeginRead. Kesalahan yang terjadi selama permintaan baca asinkron, seperti kegagalan disk selama permintaan I/O, terjadi pada utas kumpulan utas dan melemparkan pengecualian saat memanggil EndRead.