Sdílet prostřednictvím


Stream.EndRead(IAsyncResult) Metoda

Definice

Čeká na dokončení čekajícího asynchronního čtení. (Zvažte místo toho použití 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

Parametry

asyncResult
IAsyncResult

Odkaz na čekající asynchronní požadavek k dokončení.

Návraty

Počet bajtů přečtených z datového proudu, mezi nulou (0) a počtem požadovaných bajtů. ReadAsync vrátí nula (0) pouze v případě, že byly požadovány nula bajtů nebo pokud žádné další bajty nebudou k dispozici, protože je na konci datového proudu; v opačném případě se operace čtení nedokončí, dokud není k dispozici alespoň jeden bajt. Pokud se vyžaduje nula bajtů, operace čtení se můžou dokončit okamžitě nebo se nemusí dokončit, dokud nebude k dispozici alespoň jeden bajt (ale bez využití dat).

Výjimky

asyncResult je null.

Popisovač čekající operace čtení není k dispozici.

-nebo-

Čekající operace nepodporuje čtení.

asyncResult nepochází z BeginRead(Byte[], Int32, Int32, AsyncCallback, Object) metody v aktuálním datovém proudu.

Datový proud se zavře nebo došlo k vnitřní chybě.

Poznámky

V rozhraní .NET Framework 4 a předchozích verzích je pro implementaci asynchronních vstupně-výstupních operací nutné použít metody, jako jsou BeginRead a EndRead. Tyto metody jsou stále k dispozici v rozhraní .NET Framework 4.5 pro podporu starší verze kódu; Nové asynchronní metody, jako ReadAsyncjsou , WriteAsyncCopyToAsync, a FlushAsync, však pomáhají snadněji implementovat asynchronní vstupně-výstupní operace.

Voláním EndRead zjistíte, kolik bajtů se načetlo z datového proudu.

EndRead lze volat jednou při každém IAsyncResult z BeginRead.

Tato metoda blokuje, dokud se nedokončí vstupně-výstupní operace.

Platí pro

Viz také