Nyelv

Stream.EndRead(IAsyncResult) Metódus

Definíció

Megvárja, amíg a függőben lévő aszinkron olvasás befejeződik. (Fontolja meg a használatot 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

Paraméterek

asyncResult
IAsyncResult

A függőben lévő aszinkron kérelemre való hivatkozás.

Válaszok

A streamből beolvasott bájtok száma nulla (0) és a kért bájtok száma között. A ReadAsync csak akkor ad vissza nulla (0) értéket, ha a program nulla bájtot kért, vagy ha nem lesz több bájt, mert az a stream végén van; ellenkező esetben az olvasási műveletek addig nem fejeződnek be, amíg legalább egy bájt el nem érhető. Ha nulla bájtot kérnek, az olvasási műveletek azonnal befejeződhetnek, vagy nem fejeződhetnek be, amíg legalább egy bájt el nem érhető (de adatok felhasználása nélkül).

Kivételek

asyncResult az null.

A függőben lévő olvasási művelethez nem érhető el leíró.

-vagy-

A függőben lévő művelet nem támogatja az olvasást.

asyncResult nem az aktuális adatfolyam egyik BeginRead(Byte[], Int32, Int32, AsyncCallback, Object) metódusából származik.

A stream bezárult, vagy belső hiba történt.

Megjegyzések

A .NET Framework 4- és korábbi verzióiban olyan módszereket kell használnia, mint a BeginRead és EndRead az aszinkron I/O-műveletek implementálásához. Ezek a metódusok továbbra is elérhetők a .NET Framework 4.5-ben az örökölt kód támogatásához, azonban az új aszinkron metódusok, például a ReadAsync, WriteAsync, CopyToAsync és FlushAsync megkönnyítik az aszinkron I/O-műveletek implementálását.

Hívás EndRead annak meghatározására, hogy hány bájtot olvastunk be a streamből.

EndRead lehet meghívni egyszer minden IAsyncResult from BeginRead.

Ez a metódus az I/O-művelet befejezéséig blokkol.

A következőre érvényes:

Lásd még