Прочитать на английском

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


DeflateStream.EndRead(IAsyncResult) Метод

Определение

Ожидает завершения отложенного асинхронного чтения. (Вместо него рекомендуется использовать метод ReadAsync(Byte[], Int32, Int32).)

C#
public override int EndRead (IAsyncResult asyncResult);

Параметры

asyncResult
IAsyncResult

Ссылка на отложенный асинхронный запрос, который необходимо завершить.

Возвращаемое значение

Количество байтов, считанных из потока, от нуля (0) до количества запрошенных байтов. Объект DeflateStream возвращает 0 только в конце потока; в противном случае он блокируется, пока доступен хотя бы один байт.

Исключения

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

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

Исключение было вызвано во время вызова WaitOne().

Конечный вызов является недопустимым, поскольку еще не завершены операции асинхронного чтения для этого потока.

-или-

Поток имеет значение null.

Комментарии

Начиная с платформа .NET Framework 4.5 асинхронные операции чтения можно выполнять с помощью ReadAsync метода . Метод EndRead по-прежнему доступен в текущих версиях для поддержки устаревшего кода, однако вы можете проще реализовать асинхронные операции ввода-вывода с помощью новых асинхронных методов. Дополнительные сведения см. в разделе Асинхронный файловый ввод-вывод.

Вызовите этот метод, чтобы определить, сколько байтов было считано из потока. Этот метод можно вызвать один раз, чтобы вернуть количество байтов, считанных между вызовами BeginRead и EndRead.

Этот метод блокируется до завершения операции ввода-вывода.

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

Продукт Версии
.NET Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 2.0, 2.1