Stream.EndRead(IAsyncResult) Metodo
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
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.