CryptoStream.EndRead(IAsyncResult) Methode

Definition

Wartet auf den Abschluss des ausstehenden asynchronen Lesevorgangs. (Erwägen Sie stattdessen die Verwendung ReadAsync .)

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

Parameter

asyncResult
IAsyncResult

Der Verweis auf die ausstehende asynchrone Anforderung, die abgeschlossen werden soll.

Gibt zurück

Die Anzahl der aus dem Datenstrom gelesenen Bytes zwischen Null (0) und der Anzahl der bytes, die Sie angefordert haben. Datenströme geben null (0) nur am Ende des Datenstroms zurück, andernfalls sollten sie blockieren, bis mindestens ein Byte verfügbar ist.

Ausnahmen

asyncResult ist null.

Ein Handle für den ausstehenden Lesevorgang ist nicht verfügbar.

-oder-

Der ausstehende Vorgang unterstützt das Lesen nicht.

asyncResult stammt nicht aus einer BeginRead(Byte[], Int32, Int32, AsyncCallback, Object) Methode für den aktuellen Datenstrom.

Der Datenstrom ist geschlossen, oder es ist ein interner Fehler aufgetreten.

Hinweise

In .NET Framework 4 und früheren Versionen müssen Sie Methoden wie BeginRead z. B. und EndRead zum Implementieren asynchroner E/A-Vorgänge verwenden. Diese Methoden sind weiterhin in den aktuellen Versionen verfügbar, um Legacycode zu unterstützen; Die neuen asynchronen Methoden, z ReadAsync. B. , WriteAsync, CopyToAsyncund FlushAsync, helfen Ihnen jedoch, asynchrone E/A-Vorgänge einfacher zu implementieren.

Rufen Sie auf EndRead , um zu bestimmen, wie viele Bytes aus dem Datenstrom gelesen wurden.

EndRead kann einmal für jedes IAsyncResult von BeginRead.

Diese Methode blockiert, bis der E/A-Vorgang abgeschlossen ist.

Gilt für: