Stream.EndWrite(IAsyncResult) Метод

Определение

Заканчивает операцию асинхронной записи.Ends an asynchronous write operation. (Рекомендуется использовать WriteAsync(Byte[], Int32, Int32).)(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)

Параметры

asyncResult
IAsyncResult

Ссылка на невыполненный асинхронный запрос ввода-вывода.A reference to the outstanding asynchronous I/O request.

Исключения

Параметр asyncResult равен null.asyncResult is null.

Обработчик отложенной операции записи не доступен.A handle to the pending write operation is not available.

-или--or-

Ожидающая операция не поддерживает запись.The pending operation does not support writing.

asyncResult не происходит из метода BeginWrite(Byte[], Int32, Int32, AsyncCallback, Object) в текущем потоке.asyncResult did not originate from a BeginWrite(Byte[], Int32, Int32, AsyncCallback, Object) method on the current stream.

Поток закрыт, или произошла внутренняя ошибка.The stream is closed or an internal error has occurred.

Комментарии

В платформе .NET Framework 4 и более ранних версий для реализации операций асинхронного ввода-вывода необходимо использовать такие методы, как BeginWrite и EndWrite .In the .NET Framework 4 and earlier versions, you have to use methods such as BeginWrite and EndWrite to implement asynchronous I/O operations. Эти методы по-прежнему доступны в .NET Framework 4.5.NET Framework 4.5 для поддержки устаревшего кода; Однако новые асинхронные методы, такие как ReadAsync, WriteAsync, CopyToAsyncи FlushAsync, упрощают реализацию асинхронных операций ввода-вывода.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 необходимо вызывать только один раз для каждого IAsyncResult из BeginWrite.EndWrite must be called exactly once on every IAsyncResult from BeginWrite.

Этот метод блокируется до завершения операции ввода-вывода.This method blocks until the I/O operation has completed. Ошибки, возникающие при асинхронном запросе записи, такие как сбой диска во время запроса ввода-вывода, происходят в потоке пула потоков и становятся видимыми при вызове 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. Исключения, вызываемые потоком пула потоков, не будут видны при вызове EndWrite.Exceptions thrown by the thread pool thread will not be visible when calling EndWrite.

Применяется к

Дополнительно