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


CryptoStream.EndRead(IAsyncResult) Метод

Определение

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

public:
 override int EndRead(IAsyncResult ^ asyncResult);
public override int EndRead (IAsyncResult asyncResult);
override this.EndRead : IAsyncResult -> int
Public Overrides Function EndRead (asyncResult As IAsyncResult) As Integer

Параметры

asyncResult
IAsyncResult

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

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

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

Исключения

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

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

-или-

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

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

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

Комментарии

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

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

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

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

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