DeflateStream.BeginWrite(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 tulis asinkron. (Pertimbangkan untuk menggunakan metode sebagai gantinya WriteAsync(Byte[], Int32, Int32) .)
public:
override IAsyncResult ^ BeginWrite(cli::array <System::Byte> ^ array, int offset, int count, AsyncCallback ^ asyncCallback, System::Object ^ asyncState);
public:
override IAsyncResult ^ BeginWrite(cli::array <System::Byte> ^ buffer, int offset, int count, AsyncCallback ^ asyncCallback, System::Object ^ asyncState);
public override IAsyncResult BeginWrite (byte[] array, int offset, int count, AsyncCallback? asyncCallback, object? asyncState);
public override IAsyncResult BeginWrite (byte[] buffer, int offset, int count, AsyncCallback? asyncCallback, object? asyncState);
public override IAsyncResult BeginWrite (byte[] array, int offset, int count, AsyncCallback asyncCallback, object asyncState);
override this.BeginWrite : byte[] * int * int * AsyncCallback * obj -> IAsyncResult
override this.BeginWrite : byte[] * int * int * AsyncCallback * obj -> IAsyncResult
Public Overrides Function BeginWrite (array As Byte(), offset As Integer, count As Integer, asyncCallback As AsyncCallback, asyncState As Object) As IAsyncResult
Public Overrides Function BeginWrite (buffer As Byte(), offset As Integer, count As Integer, asyncCallback As AsyncCallback, asyncState As Object) As IAsyncResult
Parameter
- arraybuffer
- Byte[]
Buffer untuk menulis data.
- offset
- Int32
Offset byte untuk mulai menulis.
- count
- Int32
Jumlah maksimum byte yang akan ditulis.
- asyncCallback
- AsyncCallback
Panggilan balik asinkron opsional, yang akan dipanggil ketika operasi tulis selesai.
- asyncState
- Object
Objek yang disediakan pengguna yang membedakan permintaan tulis asinkron khusus ini dari permintaan lain.
Mengembalikan
Objek yang mewakili operasi tulis asinkron, yang masih bisa tertunda.
Pengecualian
Metode ini mencoba menulis 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 tulis.
Operasi tulis tidak dapat dilakukan karena aliran ditutup.
Keterangan
Dimulai dengan .NET Framework 4.5, Anda dapat melakukan operasi penulisan asinkron dengan menggunakan WriteAsync metode . Metode BeginWrite 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 objek yang IAsyncResult dikembalikan oleh metode saat ini untuk EndWrite memastikan bahwa penulisan selesai dan membebaskan sumber daya dengan tepat. Anda dapat melakukan ini baik dengan menggunakan kode yang sama yang memanggil BeginWrite atau dalam panggilan balik yang diteruskan ke BeginWrite. Jika terjadi kesalahan selama operasi penulisan asinkron, pengecualian tidak akan dilemparkan sampai EndWrite dipanggil dengan yang IAsyncResult dikembalikan oleh metode ini.
Jika aliran dapat ditulis, menulis di akhir aliran akan memperluas aliran.
Posisi saat ini dalam aliran diperbarui ketika Anda mengeluarkan operasi baca atau tulis asinkron, bukan ketika operasi I/O selesai. Beberapa permintaan asinkron simultan membuat pesanan penyelesaian permintaan tidak pasti.
CanWrite Gunakan properti untuk menentukan apakah objek saat ini DeflateStream mendukung penulisan.
Jika aliran ditutup atau Anda melewati argumen yang tidak valid, pengecualian langsung dilemparkan dari BeginWrite. Kesalahan yang terjadi selama permintaan tulis asinkron, seperti kegagalan disk selama permintaan I/O, terjadi pada utas kumpulan utas dan melemparkan pengecualian saat memanggil EndWrite.