Stream.EndRead(IAsyncResult) Método

Definição

Espera a leitura assíncrona pendente ser concluída. (Considere o uso de ReadAsync(Byte[], Int32, Int32) em seu lugar.)

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.

Retornos

Int32

O número de bytes lidos do fluxo, entre zero (0) e o número de bytes solicitado. 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.

Exceções

asyncResult é null.

Um identificador para a operação de leitura pendente não está disponível.

- ou -

A operação pendente não dá suporte à leitura.

asyncResult não é proveniente de um método BeginRead(Byte[], Int32, Int32, AsyncCallback, Object) no fluxo atual.

O fluxo está fechado ou ocorreu um erro interno.

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. Esses métodos ainda estão disponíveis no .NET Framework 4.5 para dar suporte ao código herdado; no entanto, os novos métodos assíncronos, como ReadAsync, WriteAsyncCopyToAsynce FlushAsync, ajudam você a implementar operações de E/S assíncronas com mais facilidade.

Chamada EndRead para determinar quantos bytes foram lidos do fluxo.

EndRead pode ser chamado uma vez em cada IAsyncResult de BeginRead.

Esse método bloqueia até que a operação de E/S seja concluída.

Aplica-se a

Confira também