Stream.EndRead(IAsyncResult) Methode
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Wartet, bis der ausstehende asynchrone Lesevorgang abgeschlossen ist. (Verwenden Sie stattdessen ReadAsync(Byte[], Int32, Int32).)
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
Parameter
- asyncResult
- IAsyncResult
Der Verweis auf die ausstehende asynchrone Anforderung, die beendet werden soll.
Gibt zurück
Die Anzahl der aus dem Stream gelesenen Bytes zwischen null (0) und der Anzahl der angeforderten Bytes. ReadAsync gibt nur null (0) zurück, wenn null Bytes angefordert wurden oder wenn keine weiteren Bytes verfügbar sind, da es sich am Ende des Datenstroms befindet. Andernfalls werden Lesevorgänge erst abgeschlossen, wenn mindestens ein Byte verfügbar ist. Wenn null Bytes angefordert werden, werden Lesevorgänge möglicherweise sofort oder erst abgeschlossen, wenn mindestens ein Byte verfügbar ist (jedoch ohne Datenverbrauch).
Ausnahmen
asyncResult
ist null
.
Ein Handle für den ausstehenden Lesevorgang ist nicht verfügbar.
- oder -
Die anstehende Operation unterstützt keine Lesevorgänge.
asyncResult
basiert nicht auf einer BeginRead(Byte[], Int32, Int32, AsyncCallback, Object) -Methode im aktuellen Stream.
Der Stream ist geschlossen, oder ein interner Fehler ist aufgetreten.
Hinweise
In .NET Framework 4 und vorherigen Versionen müssen Sie Methoden wie BeginRead und EndRead verwenden, um asynchrone E/A-Vorgänge zu implementieren. Diese Methoden sind weiterhin im .NET Framework 4.5 verfügbar, um Legacycode zu unterstützen. Die neuen asynchronen Methoden wie ReadAsync, WriteAsync, CopyToAsyncund FlushAsynchelfen Ihnen jedoch, asynchrone E/A-Vorgänge einfacher zu implementieren.
Rufen Sie auf EndRead
, um zu bestimmen, wie viele Bytes aus dem Stream gelesen wurden.
EndRead
kann einmal von IAsyncResultBeginReadaufgerufen werden.
Diese Methode blockiert, bis die E/A-Operation abgeschlossen ist.