Stream.EndRead(IAsyncResult) Metoda

Definicja

Czeka na zakończenie oczekujących asynchronicznych operacji odczytu.Waits for the pending asynchronous read to complete. (Rozważ użycie ReadAsync(Byte[], Int32, Int32) zamiast niego).(Consider using ReadAsync(Byte[], Int32, Int32) instead.)

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.The reference to the pending asynchronous request to finish.

Zwraca

Liczba bajtów odczytanych ze strumienia, z przedziału od zera (0) do liczby żądanych bajtów.The number of bytes read from the stream, between zero (0) and the number of bytes you requested. Strumienie zwracają zero (0) tylko na końcu strumienia, w przeciwnym razie powinny być blokowane do momentu udostępnienia co najmniej jednego bajtu.Streams return zero (0) only at the end of the stream, otherwise, they should block until at least one byte is available.

Wyjątki

asyncResultjest null.asyncResult is null.

Dojście do oczekującej operacji odczytu jest niedostępne.A handle to the pending read operation is not available.

—lub—-or-

Oczekująca operacja nie obsługuje odczytywania.The pending operation does not support reading.

asyncResultnie pochodzi z BeginRead(Byte[], Int32, Int32, AsyncCallback, Object) metody w bieżącym strumieniu.asyncResult did not originate from a BeginRead(Byte[], Int32, Int32, AsyncCallback, Object) method on the current stream.

Strumień jest zamknięty lub wystąpił błąd wewnętrzny.The stream is closed or an internal error has occurred.

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.In the .NET Framework 4 and earlier versions, you have to use methods such as BeginRead and EndRead to implement asynchronous I/O operations. Te metody są nadal dostępne w programie .NET Framework 4.5.NET Framework 4.5 w celu obsługi starszego kodu, jednak nowe metody asynchroniczne, takie jak ReadAsync, WriteAsync CopyToAsync,, i FlushAsync, ułatwiają wdrożenie asynchronicznych operacji we/wy.These methods are still available in the .NET Framework 4.5.NET Framework 4.5 to support legacy code; however, the new async methods, such as ReadAsync, WriteAsync, CopyToAsync, and FlushAsync, help you implement asynchronous I/O operations more easily.

Wywołaj EndRead , aby określić, ile bajtów odczytano ze strumienia.Call EndRead to determine how many bytes were read from the stream.

EndReadmoże być wywoływana raz dla każdego IAsyncResult z BeginRead.EndRead can be called once on every IAsyncResult from BeginRead.

Ta metoda jest blokowana do momentu zakończenia operacji we/wy.This method blocks until the I/O operation has completed.

Dotyczy

Zobacz też