Stream.EndRead(IAsyncResult) Metodo

Definizione

Attende il completamento della lettura asincrona in sospeso.Waits for the pending asynchronous read to complete. Si consiglia di usare ReadAsync(Byte[], Int32, Int32).(Consider using ReadAsync(Byte[], Int32, Int32) instead.)

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.The reference to the pending asynchronous request to finish.

Restituisce

Int32

Numero di byte letti dal flusso, tra zero (0) e il numero di byte richiesto.The number of bytes read from the stream, between zero (0) and the number of bytes you requested. I flussi restituiscono zero (0) solo alla fine del flusso; in caso contrario, si devono bloccare fino a quando non è disponibile almeno 1 byte.Streams return zero (0) only at the end of the stream, otherwise, they should block until at least one byte is available.

Eccezioni

asyncResult è null.asyncResult is null.

Non è disponibile un handle dell'operazione di lettura in sospeso.A handle to the pending read operation is not available.

-oppure--or-

L'operazione in sospeso non supporta la lettura.The pending operation does not support reading.

asyncResult non è stato generato da un metodo BeginRead(Byte[], Int32, Int32, AsyncCallback, Object) nel flusso corrente.asyncResult did not originate from a BeginRead(Byte[], Int32, Int32, AsyncCallback, Object) method on the current stream.

Il flusso è chiuso o si è verificato un errore interno.The stream is closed or an internal error has occurred.

Commenti

In .NET Framework 4 e versioni precedenti è necessario usare metodi quali BeginRead e EndRead per implementare operazioni di I/O asincrone.In the .NET Framework 4 and earlier versions, you have to use methods such as BeginRead and EndRead to implement asynchronous I/O operations. Questi metodi sono ancora disponibili in .NET Framework 4.5.NET Framework 4.5 per supportare il codice legacy. Tuttavia, i nuovi metodi asincroni, ad esempio ReadAsync , WriteAsync , CopyToAsync e FlushAsync , consentono di implementare più facilmente le operazioni di I/O asincrone.These methods are still available in the .NET Framework 4.5.NET Framework 4.5 to support legacy code; however, the new async methods, such as ReadAsync, WriteAsync, CopyToAsync, and FlushAsync, help you implement asynchronous I/O operations more easily.

Chiamare EndRead per determinare il numero di byte letti dal flusso.Call EndRead to determine how many bytes were read from the stream.

EndRead può essere chiamato una volta ogni IAsyncResult da BeginRead .EndRead can be called once on every IAsyncResult from BeginRead.

Questo metodo mantiene il blocco fino al completamento dell'operazione di I/O.This method blocks until the I/O operation has completed.

Si applica a

Vedi anche