Stream.EndRead(IAsyncResult) Método
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
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
O número de bytes lidos do fluxo, entre zero (0) e o número de bytes solicitados. ReadAsync retornará zero (0) somente se zero bytes tiverem sido solicitados ou se não houver mais bytes disponíveis porque ele está no final do fluxo; caso contrário, as operações de leitura não serão concluídas até que pelo menos um byte esteja disponível. Se zero bytes forem solicitados, as operações de leitura poderão ser concluídas imediatamente ou não serão concluídas até que pelo menos um byte esteja disponível (mas sem consumir dados).
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, WriteAsync, CopyToAsynce FlushAsync, ajudam você a implementar operações de E/S assíncronas com mais facilidade.
Chame 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.