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
.