语言

CryptoStream.ReadAsync 方法

定义

从当前流异步读取字节序列,按读取的字节数推进流中的位置,并监视取消请求。

重载

名称 说明
ReadAsync(Byte[], Int32, Int32, CancellationToken)

以异步方式从当前流中读取字节序列,按读取的字节数推进流中的位置,并监视取消请求。

ReadAsync(Memory<Byte>, CancellationToken)

从当前流异步读取字节序列,按读取的字节数推进流中的位置,并监视取消请求。

ReadAsync(Byte[], Int32, Int32, CancellationToken)

Source:
CryptoStream.cs
Source:
CryptoStream.cs
Source:
CryptoStream.cs
Source:
CryptoStream.cs
Source:
CryptoStream.cs

以异步方式从当前流中读取字节序列,按读取的字节数推进流中的位置,并监视取消请求。

public:
 override System::Threading::Tasks::Task<int> ^ ReadAsync(cli::array <System::Byte> ^ buffer, int offset, int count, System::Threading::CancellationToken cancellationToken);
public override System.Threading.Tasks.Task<int> ReadAsync(byte[] buffer, int offset, int count, System.Threading.CancellationToken cancellationToken);
override this.ReadAsync : byte[] * int * int * System.Threading.CancellationToken -> System.Threading.Tasks.Task<int>
Public Overrides Function ReadAsync (buffer As Byte(), offset As Integer, count As Integer, cancellationToken As CancellationToken) As Task(Of Integer)

参数

buffer
Byte[]

要将数据写入到的缓冲区。

offset
Int32

要从流中开始写入数据的字节偏移量 buffer 。

count
Int32

要读取的最大字节数。

cancellationToken
CancellationToken

用于监视取消请求的令牌。 默认值为 None。

返回

表示异步读取操作的任务。 任务对象 TResult 参数的值包含读取到缓冲区中的字节总数。 如果当前可用的字节数小于所请求的数字,则结果可以小于请求的字节数,如果已达到流的末尾,则结果可以为 0(零)。

例外

buffer 是 null。

offset 或 count 为负数。

其总和 offset 大于 count 缓冲区长度。

流不支持读取。

流已释放。

流当前正由以前的读取操作使用。

取消令牌已取消。 此异常存储在返回的任务中。

注解

Important

从 .NET 6 开始,此方法可能不会读取请求的字节数。 有关详细信息,请参阅 DeflateStream、GZipStream 和 CryptoStream 中的部分读取和零字节读取。

必须使用 (C#) 或 ReadAsync (Visual Basic) 运算符来预示对方法的调用awaitAwait ,以暂停执行该方法,直到任务完成。 有关详细信息,请参阅异步编程(C#)或使用 Async 和 Await 进行异步编程(Visual Basic)。

如果在操作完成之前被取消,则返回的任务包含 Canceled 该属性的值 Status 。

此方法存储在任务中,它返回该方法的同步对应项可以引发的所有非使用异常。 如果异常存储在返回的任务中,则等待任务时将引发该异常。 使用情况异常(例如 ArgumentException)仍会同步引发。 有关存储的异常,请参阅由 Read(Byte[], Int32, Int32)..

另请参阅

适用于

ReadAsync(Memory<Byte>, CancellationToken)

Source:
CryptoStream.cs
Source:
CryptoStream.cs
Source:
CryptoStream.cs
Source:
CryptoStream.cs
Source:
CryptoStream.cs

从当前流异步读取字节序列,按读取的字节数推进流中的位置,并监视取消请求。

public override System.Threading.Tasks.ValueTask<int> ReadAsync(Memory<byte> buffer, System.Threading.CancellationToken cancellationToken = default);
override this.ReadAsync : Memory<byte> * System.Threading.CancellationToken -> System.Threading.Tasks.ValueTask<int>
Public Overrides Function ReadAsync (buffer As Memory(Of Byte), Optional cancellationToken As CancellationToken = Nothing) As ValueTask(Of Integer)

参数

buffer
Memory<Byte>

要将数据写入到的内存区域。

cancellationToken
CancellationToken

用于监视取消请求的令牌。 默认值为 None。

返回

表示异步读取操作的任务。 其 Result 属性的值包含读取到缓冲区中的字节总数。 如果当前没有可用字节数,则结果值可以小于缓冲区中分配的字节数,如果到达流的末尾,则结果值可以为 0(零)。

例外

与 CryptoStreamMode 当前 CryptoStream 对象关联的对象与基础流不匹配。 例如,在仅写入的基础流中使用 Read 时,将引发此异常。

取消令牌已取消。 此异常存储在返回的任务中。

注解

从 .NET 6 开始,此方法可能不会读取请求的字节数。 有关详细信息,请参阅 DeflateStream、GZipStream 和 CryptoStream 中的部分读取和零字节读取。

适用于