Stream.EndRead(IAsyncResult) 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.
Czeka na ukończenie oczekującego odczytu asynchronicznego. (Rozważ użycie ReadAsync(Byte[], Int32, Int32) zamiast tego).
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
Parametry
- asyncResult
- IAsyncResult
Odwołanie do oczekującego żądania asynchronicznego do zakończenia.
Zwraca
Liczba bajtów odczytanych ze strumienia z zakresu od zera (0) do liczby żądanych bajtów. Funkcja ReadAsync zwraca zero (0) tylko wtedy, gdy zażądano zera bajtów lub jeśli nie będzie dostępnych więcej bajtów, ponieważ znajduje się na końcu strumienia; w przeciwnym razie operacje odczytu nie są wykonywane, dopóki nie będzie dostępny co najmniej jeden bajt. Jeśli wymagane są zero bajtów, operacje odczytu mogą zostać zakończone natychmiast lub mogą nie zostać ukończone, dopóki co najmniej jeden bajt nie będzie dostępny (ale bez używania żadnych danych).
Wyjątki
asyncResult
to null
.
Dojście do oczekującej operacji odczytu nie jest dostępne.
-lub-
Oczekująca operacja nie obsługuje odczytu.
asyncResult
nie pochodzi z BeginRead(Byte[], Int32, Int32, AsyncCallback, Object) metody w bieżącym strumieniu.
Strumień jest zamknięty lub wystąpił błąd wewnętrzny.
Uwagi
W programie .NET Framework w wersji 4 i starszych do implementowania asynchronicznych operacji We/Wy należy używać metod takich jak BeginRead i EndRead. Te metody są nadal dostępne w .NET Framework 4.5 do obsługi starszego kodu. Jednak nowe metody asynchroniczne, takie jak ReadAsync, WriteAsync, CopyToAsynci FlushAsync, ułatwiają implementowanie asynchronicznych operacji we/wy.
Wywołaj metodę EndRead
, aby określić liczbę bajtów odczytanych ze strumienia.
EndRead
może być wywoływany raz na każdym IAsyncResult z .BeginRead
Ta metoda blokuje działanie do momentu zakończenia operacji we/wy.