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, compreso 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 altri byte perché si trova alla fine del flusso; in caso contrario, le operazioni di lettura non verranno completate fino a quando non sarà disponibile almeno un byte. Se vengono richiesti zero byte, le operazioni di lettura possono essere completate immediatamente o potrebbero non essere completate 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, CopyToAsyncWriteAsync, e FlushAsync, consentono di implementare più facilmente operazioni di I/O asincrone.

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