Stream.EndRead(IAsyncResult) Metoda
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Č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.