CryptoStream.ReadAsync Método
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Sobrecargas
ReadAsync(Byte[], Int32, Int32, CancellationToken) |
Lee de forma asincrónica una secuencia de bytes en la secuencia actual, se hace avanzar la posición dentro de la secuencia el número de bytes leídos y controla las solicitudes de cancelación. |
ReadAsync(Memory<Byte>, CancellationToken) |
Lee de forma asincrónica una secuencia de bytes en la secuencia actual, se hace avanzar la posición dentro de la secuencia el número de bytes leídos y controla las solicitudes de cancelación. |
ReadAsync(Byte[], Int32, Int32, CancellationToken)
- Source:
- CryptoStream.cs
- Source:
- CryptoStream.cs
- Source:
- CryptoStream.cs
Lee de forma asincrónica una secuencia de bytes en la secuencia actual, se hace avanzar la posición dentro de la secuencia el número de bytes leídos y controla las solicitudes de cancelación.
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)
Parámetros
- buffer
- Byte[]
El búfer en el que se escriben los datos.
- offset
- Int32
Posición de desplazamiento en bytes de buffer
donde se comienza a escribir los datos de la secuencia.
- count
- Int32
Número máximo de bytes que se pueden leer.
- cancellationToken
- CancellationToken
Token para supervisar solicitudes de cancelación. El valor predeterminado es None.
Devoluciones
Tarea que representa la operación de lectura asincrónica. El valor del parámetro TResult
del objeto Task contiene el número total de bytes leídos en el búfer. El resultado puede ser menor que el número de bytes solicitados si el número de bytes disponibles es menor que el número solicitado, o puede ser 0 (cero) si se ha llegado al final del flujo.
Excepciones
buffer
es null
.
offset
o count
es negativo.
La suma de offset
y count
es mayor que la longitud del búfer.
La secuencia no admite lectura.
Se ha eliminado la secuencia.
Una operación de lectura anterior está usando actualmente la secuencia.
Se canceló el token de cancelación. Esta excepción se almacena en la tarea devuelta.
Comentarios
Importante
A partir de .NET 6, este método podría no leer tantos bytes como se solicitaron. Para obtener más información, vea Lecturas parciales y de cero bytes en DeflateStream, GZipStream y CryptoStream.
Debe anteponer la llamada a ReadAsync con el await
operador (C#) o Await
(Visual Basic) para suspender la ejecución del método hasta que se complete la tarea. Para obtener más información, vea Programación asincrónica (C#) o Programación asincrónica con Async y Await (Visual Basic).
Si la operación se cancela antes de completarse, la tarea devuelta contiene el Canceled valor de la Status propiedad .
Este método almacena en la tarea que devuelve todas las excepciones que no son de uso que puede producir el homólogo sincrónico del método. Si se almacena una excepción en la tarea devuelta, esa excepción se producirá cuando se espere a la tarea. Las excepciones de uso, como ArgumentException, se siguen produciendo de forma sincrónica. Para ver las excepciones almacenadas, vea las excepciones producidas por Read(Byte[], Int32, Int32).
Consulte también
Se aplica a
ReadAsync(Memory<Byte>, CancellationToken)
- Source:
- CryptoStream.cs
- Source:
- CryptoStream.cs
- Source:
- CryptoStream.cs
Lee de forma asincrónica una secuencia de bytes en la secuencia actual, se hace avanzar la posición dentro de la secuencia el número de bytes leídos y controla las solicitudes de cancelación.
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)
Parámetros
- cancellationToken
- CancellationToken
Token para supervisar solicitudes de cancelación. El valor predeterminado es None.
Devoluciones
Tarea que representa la operación de lectura asincrónica. El valor de su propiedad Result contiene el número total de bytes leídos en el búfer. El valor de resultado puede ser menor que el número de bytes asignado en el búfer si esos bytes no están disponibles en ese momento o 0 (cero) si se ha alcanzado el final de la secuencia.
Excepciones
El CryptoStreamMode objeto asociado al objeto actual CryptoStream no coincide con la secuencia subyacente. Por ejemplo, esta excepción se produce cuando se usa Read con una secuencia subyacente que solo es de escritura.
Se canceló el token de cancelación. Esta excepción se almacena en la tarea devuelta.
Comentarios
A partir de .NET 6, este método podría no leer tantos bytes como se solicitaron. Para obtener más información, vea Lecturas parciales y de cero bytes en DeflateStream, GZipStream y CryptoStream.