Stream.EndRead(IAsyncResult) Metodo

Definizione

Attende il completamento della lettura asincrona in sospeso. Si consiglia di usare 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

Parametri

asyncResult
IAsyncResult

Riferimento alla richiesta asincrona in sospeso da completare.

Restituisce

Numero di byte letti dal flusso, tra zero (0) e il numero di byte richiesti. ReadAsync restituisce zero (0) solo se sono stati richiesti zero byte o se non saranno disponibili più byte perché è alla fine del flusso; in caso contrario, le operazioni di lettura non sono completate fino a quando non è disponibile almeno un byte. Se vengono richiesti zero byte, le operazioni di lettura possono completare immediatamente o non completare fino a quando non è disponibile almeno un byte (ma senza utilizzare alcun dato).

Eccezioni

asyncResult è null.

Non è disponibile un handle dell'operazione di lettura in sospeso.

-oppure-

L'operazione in sospeso non supporta la lettura.

asyncResult non è stato generato da un metodo BeginRead(Byte[], Int32, Int32, AsyncCallback, Object) nel flusso corrente.

Il flusso è chiuso o si è verificato un errore interno.

Commenti

In .NET Framework 4 e versioni precedenti è necessario usare metodi quali BeginRead e EndRead per implementare operazioni di I/O asincrone. Questi metodi sono ancora disponibili in .NET Framework 4.5 per supportare il codice legacy; Tuttavia, i nuovi metodi asincroni, ad esempio ReadAsync, , WriteAsyncCopyToAsynce , FlushAsyncconsentono di implementare operazioni di I/O asincrone più facilmente.

Chiamata EndRead per determinare il numero di byte letti dal flusso.

EndRead può essere chiamato una volta su ogni IAsyncResult da BeginRead.

Questo metodo mantiene il blocco fino al completamento dell'operazione di I/O.

Si applica a

Vedi anche