Compartir vía


DeflateStream.BeginWrite(Byte[], Int32, Int32, AsyncCallback, Object) Método

Definición

Comienza una operación de escritura asincrónica. (Considere usar el método WriteAsync(Byte[], Int32, Int32) en su lugar).

public:
 override IAsyncResult ^ BeginWrite(cli::array <System::Byte> ^ array, int offset, int count, AsyncCallback ^ asyncCallback, System::Object ^ asyncState);
public:
 override IAsyncResult ^ BeginWrite(cli::array <System::Byte> ^ buffer, int offset, int count, AsyncCallback ^ asyncCallback, System::Object ^ asyncState);
public override IAsyncResult BeginWrite (byte[] array, int offset, int count, AsyncCallback? asyncCallback, object? asyncState);
public override IAsyncResult BeginWrite (byte[] buffer, int offset, int count, AsyncCallback? asyncCallback, object? asyncState);
public override IAsyncResult BeginWrite (byte[] array, int offset, int count, AsyncCallback asyncCallback, object asyncState);
override this.BeginWrite : byte[] * int * int * AsyncCallback * obj -> IAsyncResult
override this.BeginWrite : byte[] * int * int * AsyncCallback * obj -> IAsyncResult
Public Overrides Function BeginWrite (array As Byte(), offset As Integer, count As Integer, asyncCallback As AsyncCallback, asyncState As Object) As IAsyncResult
Public Overrides Function BeginWrite (buffer As Byte(), offset As Integer, count As Integer, asyncCallback As AsyncCallback, asyncState As Object) As IAsyncResult

Parámetros

arraybuffer
Byte[]

Búfer del que se van a escribir datos.

offset
Int32

Desplazamiento de bytes desde el que se va a empezar a escribir.

count
Int32

Número máximo de bytes que se pueden escribir.

asyncCallback
AsyncCallback

Devolución de llamada asincrónica opcional, a la que se llamará cuando haya finalizado la operación de escritura.

asyncState
Object

Objeto proporcionado por el usuario que distingue esta solicitud de escritura asincrónica de otras.

Devoluciones

Un objeto que representa la operación de escritura asincrónica, que puede hallarse aún pendiente.

Excepciones

El método intentó escribir de forma asincrónica más allá del final de la secuencia o se produjo un error de disco.

Uno o varios argumentos no son válidos.

Se efectuó una llamada a los métodos después de cerrar la secuencia.

La implementación actual de DeflateStream no admite la operación de escritura.

La operación de escritura no se puede realizar porque la secuencia está cerrada.

Comentarios

A partir de .NET Framework 4.5, puede realizar operaciones de escritura asincrónicas mediante el WriteAsync método . El BeginWrite método todavía está disponible en versiones actuales para admitir código heredado; sin embargo, puede implementar operaciones de E/S asincrónicas más fácilmente mediante los nuevos métodos asincrónicos. Para más información, consulte E/S de archivos asincrónica.

Pase el IAsyncResult objeto devuelto por el método actual para EndWrite asegurarse de que la escritura se completa y libera los recursos de forma adecuada. Puede hacerlo mediante el mismo código que llamó BeginWrite o en una devolución de llamada pasada a BeginWrite. Si se produce un error durante una operación de escritura asincrónica, no se producirá una excepción hasta que se llame a EndWrite con el IAsyncResult devuelto por este método.

Si se puede escribir una secuencia, escribir al final de la secuencia expande la secuencia.

La posición actual de la secuencia se actualiza al emitir la operación asincrónica de lectura o escritura, no cuando se completa la operación de E/S. Varias solicitudes asincrónicas simultáneas representan el orden de finalización de la solicitud incierta.

Utilice la CanWrite propiedad para determinar si el objeto actual DeflateStream admite la escritura.

Si se cierra una secuencia o se pasa un argumento no válido, las excepciones se inician inmediatamente desde BeginWrite. Los errores que se producen durante una solicitud de escritura asincrónica, como un error de disco durante la solicitud de E/S, se producen en el subproceso del grupo de subprocesos y producen excepciones al llamar a EndWrite.

Se aplica a