BufferedStream.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
| Nombre | Description |
|---|---|
| ReadAsync(Memory<Byte>, CancellationToken) |
Lee de forma asincrónica una secuencia de bytes de la secuencia almacenada en búfer actual y avanza la posición dentro de la secuencia almacenada en búfer por el número de bytes leídos. |
| ReadAsync(Byte[], Int32, Int32, CancellationToken) |
Lee de forma asincrónica una secuencia de bytes de la secuencia actual, avanza la posición dentro de la secuencia por el número de bytes leídos y supervisa las solicitudes de cancelación. |
ReadAsync(Memory<Byte>, CancellationToken)
- Source:
- BufferedStream.cs
- Source:
- BufferedStream.cs
- Source:
- BufferedStream.cs
- Source:
- BufferedStream.cs
- Source:
- BufferedStream.cs
Lee de forma asincrónica una secuencia de bytes de la secuencia almacenada en búfer actual y avanza la posición dentro de la secuencia almacenada en búfer por el número de bytes leídos.
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 que se va a supervisar para las solicitudes de cancelación. El valor predeterminado es None.
Devoluciones
Tarea que representa la operación de lectura asincrónica. El valor de su Result propiedad contiene el número total de bytes leídos en el búfer. El valor del resultado puede ser menor que el número de bytes asignados en el búfer si no hay muchos bytes disponibles actualmente, o puede ser 0 (cero) si se ha alcanzado el final de la secuencia.
Excepciones
Se canceló el token de cancelación. Esta excepción se almacena en la tarea devuelta.
Comentarios
El ReadAsync método permite realizar operaciones de E/S intensivas en recursos sin bloquear el subproceso principal. Esta consideración de rendimiento es especialmente importante en una aplicación de la Tienda Windows 8.x o una aplicación de escritorio en la que una operación de secuencia que consume mucho tiempo puede bloquear el subproceso de la interfaz de usuario y hacer que la aplicación aparezca como si no estuviera funcionando. Los métodos asincrónicos se usan junto con las async palabras clave y await en Visual Basic y C#.
Use la CanRead propiedad para determinar si la instancia actual admite la lectura.
Si la operación se cancela antes de completarse, la tarea devuelta contiene el TaskStatus.Canceled valor de la Status propiedad .
Se aplica a
ReadAsync(Byte[], Int32, Int32, CancellationToken)
- Source:
- BufferedStream.cs
- Source:
- BufferedStream.cs
- Source:
- BufferedStream.cs
- Source:
- BufferedStream.cs
- Source:
- BufferedStream.cs
Lee de forma asincrónica una secuencia de bytes de la secuencia actual, avanza la posición dentro de la secuencia por el número de bytes leídos y supervisa 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[]
Búfer en el que se van a escribir los datos.
- offset
- Int32
Desplazamiento de bytes en el buffer que se van a empezar a escribir datos de la secuencia.
- count
- Int32
Número máximo de bytes que se van a leer.
- cancellationToken
- CancellationToken
Token que se va a supervisar para las solicitudes de cancelación.
Devoluciones
Tarea que representa la operación de lectura asincrónica. La tarea devuelta 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 solicitado si el número de bytes actualmente disponible es menor que el número solicitado, o puede ser 0 (cero) si se ha alcanzado el final de la secuencia.
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 la lectura.
Se ha eliminado la secuencia.
La secuencia está actualmente en uso mediante una operación de lectura anterior.
Se canceló el token de cancelación. Esta excepción se almacena en la tarea devuelta.
Comentarios
Puede crear un token de cancelación creando una instancia de la CancellationTokenSource clase y pasando la Token propiedad como parámetro cancellationToken .
Este método almacena en la tarea que devuelve todas las excepciones de no uso que puede producir el homólogo sincrónico del método. Si se almacena una excepción en la tarea devuelta, se producirá esa excepción cuando se espere la tarea. Las excepciones de uso, como ArgumentException, todavía se producen sincrónicamente. Para las excepciones almacenadas, consulte las excepciones producidas por Read(Byte[], Int32, Int32).