Stream.EndRead(IAsyncResult) Method

Definition

Wartet auf den Abschluss des ausstehenden asynchronen Lesevorgangs.Waits for the pending asynchronous read to complete. (Verwenden Sie stattdessen ReadAsync(Byte[], Int32, Int32).)(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

Parameters

asyncResult
IAsyncResult

Der Verweis auf die ausstehende abzuschließende asynchrone Anforderung.The reference to the pending asynchronous request to finish.

Returns

Int32

Die Anzahl von Byte, die aus dem Datenstrom gelesen wurde, beträgt zwischen 0 (Null) und der Anzahl angeforderter Byte.The number of bytes read from the stream, between zero (0) and the number of bytes you requested. Datenströme geben nur am Ende des Datenstroms eine 0 (Null) zurück. Andernfalls sollten sie so lange blockieren, bis mindestens ein Bytes verfügbar ist.Streams return zero (0) only at the end of the stream, otherwise, they should block until at least one byte is available.

Exceptions

asyncResult ist nullasyncResult is null.

Ein Handle für den ausstehenden Lesevorgang ist nicht verfügbar.A handle to the pending read operation is not available.

Oder-or-

Die anstehende Operation unterstützt keine Lesevorgänge.The pending operation does not support reading.

asyncResult basiert nicht auf einer BeginRead(Byte[], Int32, Int32, AsyncCallback, Object)-Methode im aktuellen Stream.asyncResult did not originate from a BeginRead(Byte[], Int32, Int32, AsyncCallback, Object) method on the current stream.

Der Stream ist geschlossen, oder ein interner Fehler ist aufgetreten.The stream is closed or an internal error has occurred.

Remarks

In .NET Framework 4 und vorherigen Versionen müssen Sie Methoden wie BeginRead und EndRead verwenden, um asynchrone E/A-Vorgänge zu implementieren.In the .NET Framework 4 and earlier versions, you have to use methods such as BeginRead and EndRead to implement asynchronous I/O operations. Diese Methoden sind weiterhin im .NET Framework 4.5.NET Framework 4.5 verfügbar, um Legacy Code zu unterstützen. die neuen Async-Methoden, wie z. b. ReadAsync, WriteAsync, CopyToAsyncund FlushAsync, unterstützen Sie jedoch bei der einfacheren Implementierung asynchroner e/a-Vorgänge.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.

Ruft EndRead auf, um zu bestimmen, wie viele Bytes aus dem Stream gelesen wurden.Call EndRead to determine how many bytes were read from the stream.

EndRead kann für jede IAsyncResult von BeginReadeinmal aufgerufen werden.EndRead can be called once on every IAsyncResult from BeginRead.

Diese Methode blockiert, bis die E/A-Operation abgeschlossen ist.This method blocks until the I/O operation has completed.

Applies to

See also