PipeStream.WriteAsync 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
WriteAsync(ReadOnlyMemory<Byte>, CancellationToken) |
Escribe de forma asincrónica una secuencia de bytes en la secuencia actual, se hace avanzar la posición actual dentro de la secuencia el número de bytes escritos y controla las solicitudes de cancelación. |
WriteAsync(Byte[], Int32, Int32, CancellationToken) |
Escribe de forma asincrónica un número especificado de bytes en una matriz de bytes a partir de una posición especificada, avanza la posición actual dentro de esta secuencia el número de bytes escritos y supervisa las solicitudes de cancelación. |
WriteAsync(ReadOnlyMemory<Byte>, CancellationToken)
- Source:
- PipeStream.Unix.cs
- Source:
- PipeStream.Unix.cs
- Source:
- PipeStream.Unix.cs
Escribe de forma asincrónica una secuencia de bytes en la secuencia actual, se hace avanzar la posición actual dentro de la secuencia el número de bytes escritos y controla las solicitudes de cancelación.
public override System.Threading.Tasks.ValueTask WriteAsync (ReadOnlyMemory<byte> buffer, System.Threading.CancellationToken cancellationToken = default);
override this.WriteAsync : ReadOnlyMemory<byte> * System.Threading.CancellationToken -> System.Threading.Tasks.ValueTask
Public Overrides Function WriteAsync (buffer As ReadOnlyMemory(Of Byte), Optional cancellationToken As CancellationToken = Nothing) As ValueTask
Parámetros
- buffer
- ReadOnlyMemory<Byte>
Región de memoria desde la que se van a escribir los datos.
- cancellationToken
- CancellationToken
Token para supervisar solicitudes de cancelación. El valor predeterminado es None.
Devoluciones
Tarea que representa la operación de escritura asincrónica.
Excepciones
La secuencia no admite escritura.
No se puede tener acceso a una canalización cerrada.
La canalización está interrumpida.
La canalización aún no se ha conectado.
o bien
La canalización está en estado desconectado.
o bien
La canalización no se estableció. ¿Llamó la implementación de PipeStream a InitializeHandle(SafePipeHandle, Boolean, Boolean)?
Se canceló el token de cancelación. Esta excepción se almacena en la tarea devuelta.
Comentarios
El WriteAsync 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 las aplicaciones en las 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 funcionara. Los métodos asincrónicos se usan junto con las async
palabras clave y await
en Visual Basic y C#.
Utilice la CanWrite propiedad para determinar si la instancia actual admite la escritura.
Si la operación se cancela antes de que finalice, la tarea devuelta contiene el Canceled valor de la Status propiedad .
Se aplica a
WriteAsync(Byte[], Int32, Int32, CancellationToken)
- Source:
- PipeStream.Unix.cs
- Source:
- PipeStream.Unix.cs
- Source:
- PipeStream.Unix.cs
Escribe de forma asincrónica un número especificado de bytes en una matriz de bytes a partir de una posición especificada, avanza la posición actual dentro de esta secuencia el número de bytes escritos y supervisa las solicitudes de cancelación.
public:
override System::Threading::Tasks::Task ^ WriteAsync(cli::array <System::Byte> ^ buffer, int offset, int count, System::Threading::CancellationToken cancellationToken);
public override System.Threading.Tasks.Task WriteAsync (byte[] buffer, int offset, int count, System.Threading.CancellationToken cancellationToken);
override this.WriteAsync : byte[] * int * int * System.Threading.CancellationToken -> System.Threading.Tasks.Task
Public Overrides Function WriteAsync (buffer As Byte(), offset As Integer, count As Integer, cancellationToken As CancellationToken) As Task
Parámetros
- buffer
- Byte[]
Búfer del que se van a escribir datos.
- offset
- Int32
Desplazamiento en bytes de base cero de buffer
desde donde se comienzan a copiar los bytes en la secuencia.
- count
- Int32
Número máximo de bytes que se pueden escribir.
- cancellationToken
- CancellationToken
Token para supervisar solicitudes de cancelación. El valor predeterminado es None.
Devoluciones
Tarea que representa la operación de escritura asincrónica.
Excepciones
buffer
es null
.
buffer
. Longitud: offset
es menor que count
.
La secuencia no admite escritura.
No se puede tener acceso a una canalización cerrada.
La canalización está interrumpida.
La canalización aún no se ha conectado.
o bien
La canalización está en estado desconectado.
o bien
La canalización no se estableció. ¿Llamó la implementación de PipeStream a InitializeHandle(SafePipeHandle, Boolean, Boolean)?
Se canceló el token de cancelación. Esta excepción se almacena en la tarea devuelta.
Comentarios
El WriteAsync 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 las aplicaciones en las 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 funcionara. Los métodos asincrónicos se usan junto con las async
palabras clave y await
en Visual Basic y C#.
Utilice la CanWrite propiedad para determinar si la instancia actual admite la escritura.
Si la operación se cancela antes de que finalice, la tarea devuelta contiene el TaskStatus.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, se producirá esa excepción cuando se espere la tarea. Las excepciones de uso, como ArgumentException, se siguen iniciando de forma sincrónica. Para ver las excepciones almacenadas, consulte las excepciones producidas por Write(Byte[], Int32, Int32).