DeflateStream.BeginRead(Byte[], Int32, Int32, AsyncCallback, Object) Metodo

Definizione

Inizia un'operazione di lettura asincrona. (Si consiglia di usare il metodo ReadAsync(Byte[], Int32, Int32).)

public:
 override IAsyncResult ^ BeginRead(cli::array <System::Byte> ^ buffer, int offset, int count, AsyncCallback ^ asyncCallback, System::Object ^ asyncState);
public:
 override IAsyncResult ^ BeginRead(cli::array <System::Byte> ^ array, int offset, int count, AsyncCallback ^ asyncCallback, System::Object ^ asyncState);
public override IAsyncResult BeginRead (byte[] buffer, 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 (buffer As Byte(), offset As Integer, count As Integer, asyncCallback As AsyncCallback, asyncState As Object) As IAsyncResult
Public Overrides Function BeginRead (array As Byte(), offset As Integer, count As Integer, asyncCallback As AsyncCallback, asyncState As Object) As IAsyncResult

Parametri

bufferarray
Byte[]

Matrice di byte in cui leggere i dati.

offset
Int32

Offset di byte in corrispondenza del quale iniziare a leggere i dati dal flusso.

count
Int32

Numero massimo di byte da leggere.

asyncCallback
AsyncCallback

Callback asincrono facoltativo, da chiamare quando l'operazione di lettura è completa.

asyncState
Object

Oggetto fornito dall'utente che distingue questa specifica richiesta di lettura asincrona da altre richieste.

Restituisce

Oggetto che rappresenta l'operazione di lettura asincrona, che può essere ancora in sospeso.

Eccezioni

Il metodo ha tentato di leggere in modo asincrono oltre la fine del flusso o si è verificato un errore del disco.

Uno o più argomenti non sono validi.

Sono stati chiamati dei metodi dopo la chiusura del flusso.

L'implementazione corrente di DeflateStream non supporta l'operazione di lettura.

Impossibile completare la chiamata.

Commenti

Importante

A partire da .NET 6, questo metodo potrebbe non leggere quanti byte sono stati richiesti. Per altre informazioni, vedere Letture parziali e zero byte in DeflateStream, GZipStream e CryptoStream.

A partire da .NET Framework 4.5, è possibile eseguire operazioni di lettura asincrone usando il ReadAsync metodo . Il BeginRead metodo è ancora disponibile nelle versioni correnti per supportare il codice legacy. È tuttavia possibile implementare operazioni di I/O asincrone più facilmente usando i nuovi metodi asincroni. Per altre informazioni, vedere I/O di file asincrono.

Passare il IAsyncResult valore restituito al EndRead metodo del flusso per determinare il numero di byte letti e per rilasciare le risorse del sistema operativo usate per la lettura. È possibile eseguire questa operazione usando lo stesso codice chiamato BeginRead o in un callback passato a BeginRead.

La posizione corrente nel flusso viene aggiornata quando viene eseguita l'operazione di lettura asincrona o scrittura, non quando l'operazione di I/O viene completata.

Più richieste asincrone simultanee eseguono il rendering dell'ordine di completamento della richiesta incerto.

Utilizzare la proprietà per determinare se l'oggetto corrente DeflateStream supporta la CanRead lettura.

Se un flusso è chiuso o si passa un argomento non valido, le eccezioni vengono generate immediatamente da BeginRead. Errori che si verificano durante una richiesta di lettura asincrona, ad esempio un errore del disco durante la richiesta di I/O, si verificano nel thread del pool di thread e generano eccezioni quando si chiama EndRead.

Si applica a