Udostępnij za pośrednictwem


DeflateStream.EndRead(IAsyncResult) Metoda

Definicja

Czeka na ukończenie oczekującego odczytu asynchronicznego. (Zamiast tego rozważ użycie ReadAsync(Byte[], Int32, Int32) metody).

public:
 override int EndRead(IAsyncResult ^ asyncResult);
public override int EndRead (IAsyncResult asyncResult);
override this.EndRead : IAsyncResult -> int
Public Overrides Function EndRead (asyncResult As IAsyncResult) As Integer

Parametry

asyncResult
IAsyncResult

Odwołanie do oczekującego żądania asynchronicznego do zakończenia.

Zwraca

Liczba bajtów odczytanych ze strumienia z zakresu od 0 (zero) do żądanej liczby bajtów. DeflateStream zwraca wartość 0 tylko na końcu strumienia; w przeciwnym razie blokuje on dostęp do co najmniej jednego bajtu.

Wyjątki

asyncResult to null.

asyncResult nie pochodzi z BeginRead(Byte[], Int32, Int32, AsyncCallback, Object) metody w bieżącym strumieniu.

Wyjątek został zgłoszony podczas wywołania metody WaitOne().

Wywołanie końcowe jest nieprawidłowe, ponieważ operacje odczytu asynchronicznego dla tego strumienia nie zostały jeszcze ukończone.

-lub-

Strumień to null.

Uwagi

Począwszy od .NET Framework 4.5, można wykonywać operacje odczytu asynchronicznego przy użyciu ReadAsync metody . Metoda EndRead jest nadal dostępna w bieżących wersjach, aby obsługiwać starszy kod. Można jednak łatwiej zaimplementować asynchroniczne operacje we/wy przy użyciu nowych metod asynchronicznych. Aby uzyskać więcej informacji, zobacz Asynchroniczne operacje we/wy plików.

Wywołaj tę metodę, aby określić liczbę bajtów odczytanych ze strumienia. Tę metodę można wywołać raz, aby zwrócić ilość bajtów odczytanych między wywołaniami do BeginRead i EndRead.

Ta metoda blokuje działanie do momentu zakończenia operacji we/wy.

Dotyczy