BufferedStream.BeginRead(Byte[], Int32, Int32, AsyncCallback, Object) Metoda
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Rozpoczyna operację odczytu asynchronicznego. (Rozważ użycie ReadAsync(Byte[], Int32, Int32, CancellationToken) zamiast tego).
public:
override IAsyncResult ^ BeginRead(cli::array <System::Byte> ^ buffer, int offset, int count, AsyncCallback ^ callback, System::Object ^ state);
public override IAsyncResult BeginRead (byte[] buffer, int offset, int count, AsyncCallback? callback, object? state);
public override IAsyncResult BeginRead (byte[] buffer, int offset, int count, AsyncCallback callback, object state);
public override IAsyncResult BeginRead (byte[] buffer, int offset, int count, AsyncCallback callback, object? state);
override this.BeginRead : byte[] * int * int * AsyncCallback * obj -> IAsyncResult
Public Overrides Function BeginRead (buffer As Byte(), offset As Integer, count As Integer, callback As AsyncCallback, state As Object) As IAsyncResult
Parametry
- buffer
- Byte[]
Bufor do odczytu danych.
- offset
- Int32
Przesunięcie bajtów, w buffer
którym rozpocznie się zapisywanie danych odczytanych ze strumienia.
- count
- Int32
Maksymalna liczba bajtów do odczytania.
- callback
- AsyncCallback
Opcjonalne wywołanie zwrotne asynchroniczne, które ma być wywoływane po zakończeniu odczytu.
- state
- Object
Obiekt udostępniony przez użytkownika, który rozróżnia to konkretne asynchroniczne żądanie odczytu z innych żądań.
Zwraca
Obiekt reprezentujący odczyt asynchroniczny, który może nadal czekać.
Wyjątki
buffer
to null
.
offset
lub count
jest ujemny.
Podjęto próbę asynchronicznego odczytu obok końca strumienia.
Długość buforu minus offset
jest mniejsza niż count
.
Bieżący strumień nie obsługuje operacji odczytu.
Uwagi
W .NET Framework 4 i starszych wersjach należy używać metod, takich jak BeginRead i EndRead do implementowania asynchronicznych operacji plików. Te metody są nadal dostępne w .NET Framework 4.5 do obsługi starszego kodu. Jednak nowe metody asynchroniczne, takie jak ReadAsync, WriteAsynci FlushAsync, ułatwiają implementowanie operacji asynchronicznych.
EndWrite musi być wywoływana dokładnie raz dla każdego wywołania metody BeginRead. Niepowodzenie zakończenia procesu odczytu przed rozpoczęciem innego odczytu może spowodować niepożądane zachowanie, takie jak zakleszczenie.
Uwaga
Użyj właściwości , CanRead aby określić, czy bieżące wystąpienie obsługuje odczytywanie.
EndRead należy wywołać w tym IAsyncResult celu, aby dowiedzieć się, ile bajtów zostało odczytanych.