Compartilhar via


Stream.EndWrite(IAsyncResult) Método

Definição

Encerra uma operação de gravação assíncrona. (Considere o uso de WriteAsync(Byte[], Int32, Int32) em seu lugar.)

public:
 virtual void EndWrite(IAsyncResult ^ asyncResult);
public virtual void EndWrite (IAsyncResult asyncResult);
abstract member EndWrite : IAsyncResult -> unit
override this.EndWrite : IAsyncResult -> unit
Public Overridable Sub EndWrite (asyncResult As IAsyncResult)

Parâmetros

asyncResult
IAsyncResult

Uma referência à solicitação de E/S assíncrona pendente.

Exceções

asyncResult é null.

Não há um identificador disponível para a operação de gravação pendente.

- ou -

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

asyncResult não é proveniente de um método BeginWrite(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 BeginWrite e EndWrite 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 a implementar operações de E/S assíncronas com mais facilidade.

EndWrite deve ser chamado exatamente uma vez em cada IAsyncResult de BeginWrite.

Esse método é bloqueado até que a operação de E/S seja concluída. Erros que ocorrem durante uma solicitação de gravação assíncrona, como uma falha de disco durante a solicitação de E/S, ocorrem no thread do pool de threads e ficam visíveis após uma chamada para EndWrite. As exceções geradas pelo thread do pool de threads não ficarão visíveis ao chamar EndWrite.

Aplica-se a

Confira também