GZipStream.BeginRead(Byte[], Int32, Int32, AsyncCallback, Object) 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í.
Zahájí asynchronní operaci čtení. (Zvažte místo toho použití ReadAsync(Byte[], Int32, Int32) metody .)
public:
override IAsyncResult ^ BeginRead(cli::array <System::Byte> ^ array, int offset, int count, AsyncCallback ^ asyncCallback, System::Object ^ asyncState);
public:
override IAsyncResult ^ BeginRead(cli::array <System::Byte> ^ buffer, int offset, int count, AsyncCallback ^ asyncCallback, System::Object ^ asyncState);
public override IAsyncResult BeginRead (byte[] array, int offset, int count, AsyncCallback? asyncCallback, object? asyncState);
public override IAsyncResult BeginRead (byte[] buffer, int offset, int count, AsyncCallback? asyncCallback, object? asyncState);
public override IAsyncResult BeginRead (byte[] array, int offset, int count, AsyncCallback asyncCallback, object asyncState);
override this.BeginRead : byte[] * int * int * AsyncCallback * obj -> IAsyncResult
override this.BeginRead : byte[] * int * int * AsyncCallback * obj -> IAsyncResult
Public Overrides Function BeginRead (array As Byte(), offset As Integer, count As Integer, asyncCallback As AsyncCallback, asyncState As Object) As IAsyncResult
Public Overrides Function BeginRead (buffer As Byte(), offset As Integer, count As Integer, asyncCallback As AsyncCallback, asyncState As Object) As IAsyncResult
Parametry
- arraybuffer
- Byte[]
Pole bajtů, do které se mají data načíst.
- offset
- Int32
Posun bajtů, při kterém chcete začít číst data z datového proudu.
- count
- Int32
Maximální počet bajtů ke čtení.
- asyncCallback
- AsyncCallback
Volitelné asynchronní zpětné volání, které se má volat po dokončení operace čtení.
- asyncState
- Object
Uživatelem zadaný objekt, který odlišuje tento konkrétní asynchronní požadavek na čtení od ostatních požadavků.
Návraty
Objekt, který představuje asynchronní operaci čtení, která může být stále čeká na vyřízení.
Výjimky
Metoda se pokusila číst asynchronně za koncem datového proudu nebo došlo k chybě disku.
Jeden nebo více argumentů je neplatných.
Metody byly volány po uzavření datového proudu.
Aktuální GZipStream implementace nepodporuje operaci čtení.
Operaci čtení nelze provést, protože datový proud je uzavřen.
Poznámky
Důležité
Počínaje verzí .NET 6 nemusí tato metoda číst tolik bajtů, kolik bylo požadováno. Další informace naleznete v části Částečné a nulové čtení v DeflateStream, GZipStream a CryptoStream.
Počínaje rozhraním .NET Framework 4.5 můžete provádět asynchronní operace čtení pomocí Stream.ReadAsync metody . Metoda BeginRead je stále k dispozici v aktuálních verzích pro podporu staršího kódu, ale pomocí nových asynchronních metod můžete snadněji implementovat asynchronní vstupně-výstupní operace. Další informace najdete v tématu Asynchronní vstupně-výstupní operace souborů.
Předáním návratové IAsyncResult hodnoty metodě EndRead datového proudu určíte, kolik bajtů bylo přečteno, a uvolní prostředky operačního systému používané ke čtení. Můžete to provést buď pomocí stejného kódu, který volal BeginRead , nebo ve zpětném volání předaném do BeginRead.
Aktuální pozice v datovém proudu se aktualizuje při asynchronním čtení nebo zápisu, ne při dokončení vstupně-výstupní operace.
Více souběžných asynchronních požadavků vykreslí pořadí dokončení požadavků na nejisté.
CanRead Pomocí vlastnosti určete, zda aktuální GZipStream objekt podporuje čtení.
Pokud je datový proud uzavřen nebo předáte neplatný argument, jsou výjimky vyvolány okamžitě z BeginRead. Chyby, ke kterým dochází během asynchronního požadavku na čtení, jako je například selhání disku během V/V požadavku, se vyskytují ve vlákně fondu vláken a při volání EndReadvyvolají výjimky .