Поделиться через


Stream.EndWrite(IAsyncResult) Метод

Определение

Заканчивает операцию асинхронной записи. (Рекомендуется использовать WriteAsync(Byte[], Int32, Int32).)

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

Ссылка на невыполненный асинхронный запрос ввода-вывода.

Исключения

asyncResult имеет значение null.

Обработчик отложенной операции записи не доступен.

-или-

Ожидающая операция не поддерживает запись.

asyncResult не происходит из метода BeginWrite(Byte[], Int32, Int32, AsyncCallback, Object) в текущем потоке.

Поток закрыт, или произошла внутренняя ошибка.

Комментарии

В платформе .NET Framework 4 и более ранних версий для реализации операций асинхронного ввода-вывода необходимо использовать такие методы, как BeginWrite и EndWrite . Эти методы по-прежнему доступны в платформа .NET Framework 4.5 для поддержки устаревшего кода. Однако новые асинхронные методы, такие как ReadAsync, WriteAsync, CopyToAsyncи FlushAsync, упрощают реализацию асинхронных операций ввода-вывода.

EndWrite должен вызываться ровно один раз для каждого IAsyncResult из BeginWrite.

Этот метод блокируется до завершения операции ввода-вывода. Ошибки, возникающие во время асинхронного запроса на запись, такие как сбой диска во время запроса ввода-вывода, происходят в потоке пула потоков и становятся видимыми при вызове EndWriteметода . Исключения, создаваемые потоком пула потоков, не будут видны при вызове EndWrite.

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

См. также раздел