Stream.EndRead(IAsyncResult) Método

Definição

Espera a leitura assíncrona pendente ser concluída.Waits for the pending asynchronous read to complete. (Considere o uso de ReadAsync(Byte[], Int32, Int32) em seu lugar.)(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

Parâmetros

asyncResult
IAsyncResult

A referência à solicitação assíncrona pendente a ser concluída.The reference to the pending asynchronous request to finish.

Retornos

Int32

O número de bytes lidos do fluxo, entre zero (0) e o número de bytes solicitado.The number of bytes read from the stream, between zero (0) and the number of bytes you requested. Os fluxos retornam zero (0) somente no final do fluxo, caso contrário, eles devem ser bloqueados até que pelo menos um byte esteja disponível.Streams return zero (0) only at the end of the stream, otherwise, they should block until at least one byte is available.

Exceções

asyncResult é null.asyncResult is null.

Um identificador para a operação de leitura pendente não está disponível.A handle to the pending read operation is not available.

- ou --or-

A operação pendente não dá suporte à leitura.The pending operation does not support reading.

asyncResult não é proveniente de um método BeginRead(Byte[], Int32, Int32, AsyncCallback, Object) no fluxo atual.asyncResult did not originate from a BeginRead(Byte[], Int32, Int32, AsyncCallback, Object) method on the current stream.

O fluxo está fechado ou ocorreu um erro interno.The stream is closed or an internal error has occurred.

Comentários

No .NET Framework 4, e em versões anteriores, você precisa usar métodos como BeginRead e EndRead para implementar operações de E/S assíncronas.In the .NET Framework 4 and earlier versions, you have to use methods such as BeginRead and EndRead to implement asynchronous I/O operations. Esses métodos ainda estão disponíveis no .NET Framework 4.5.NET Framework 4.5 para dar suporte ao código herdado; no entanto, os novos métodos assíncronos, como,, ReadAsync WriteAsync CopyToAsync e FlushAsync , ajudam você a implementar operações de e/s assíncronas com mais facilidade.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.

Chame EndRead para determinar quantos bytes foram lidos a partir do fluxo.Call EndRead to determine how many bytes were read from the stream.

EndRead pode ser chamado uma vez em cada IAsyncResult de BeginRead .EndRead can be called once on every IAsyncResult from BeginRead.

Esse método é bloqueado até que a operação de e/s seja concluída.This method blocks until the I/O operation has completed.

Aplica-se a

Confira também