Stream.EndWrite(IAsyncResult) Método

Definição

Encerra uma operação de gravação assíncrona.Ends an asynchronous write operation. (Considere o uso de WriteAsync(Byte[], Int32, Int32) em seu lugar.)(Consider using WriteAsync(Byte[], Int32, Int32) instead.)

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.A reference to the outstanding asynchronous I/O request.

Exceções

asyncResult é null.asyncResult is null.

Não há um identificador disponível para a operação de gravação pendente.A handle to the pending write operation is not available.

- ou --or-

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

asyncResult não é proveniente de um método BeginWrite(Byte[], Int32, Int32, AsyncCallback, Object) no fluxo atual.asyncResult did not originate from a BeginWrite(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 BeginWrite e EndWrite para implementar operações de E/S assíncronas.In the .NET Framework 4 and earlier versions, you have to use methods such as BeginWrite and EndWrite 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.

EndWrite deve ser chamado exatamente uma vez em cada IAsyncResult de BeginWrite .EndWrite must be called exactly once on every IAsyncResult from BeginWrite.

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. Os 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 em uma chamada para EndWrite .Errors that occur during an asynchronous write request, such as a disk failure during the I/O request, occur on the thread pool thread and become visible upon a call to EndWrite. Exceções geradas pelo thread do pool de threads não estarão visíveis ao chamar EndWrite .Exceptions thrown by the thread pool thread will not be visible when calling EndWrite.

Aplica-se a

Veja também