Comparteix a través de


FileRecordSequence.BeginWriteRestartArea Método

Definición

Inicia una operación de escritura de área de reinicio asincrónica.

Sobrecargas

BeginWriteRestartArea(ArraySegment<Byte>, SequenceNumber, ReservationCollection, AsyncCallback, Object)

Comienza una operación de escritura de área de reinicio asincrónica, utilizando el espacio reservado previamente en la secuencia. Este método no se puede heredar.

BeginWriteRestartArea(IList<ArraySegment<Byte>>, SequenceNumber, ReservationCollection, AsyncCallback, Object)

Comienza una operación de escritura de área de reinicio asincrónica, utilizando el espacio reservado previamente en la secuencia. Este método no se puede heredar.

BeginWriteRestartArea(ArraySegment<Byte>, SequenceNumber, ReservationCollection, AsyncCallback, Object)

Comienza una operación de escritura de área de reinicio asincrónica, utilizando el espacio reservado previamente en la secuencia. Este método no se puede heredar.

public:
 virtual IAsyncResult ^ BeginWriteRestartArea(ArraySegment<System::Byte> data, System::IO::Log::SequenceNumber newBaseSeqNum, System::IO::Log::ReservationCollection ^ reservation, AsyncCallback ^ callback, System::Object ^ state);
public IAsyncResult BeginWriteRestartArea (ArraySegment<byte> data, System.IO.Log.SequenceNumber newBaseSeqNum, System.IO.Log.ReservationCollection reservation, AsyncCallback callback, object state);
abstract member BeginWriteRestartArea : ArraySegment<byte> * System.IO.Log.SequenceNumber * System.IO.Log.ReservationCollection * AsyncCallback * obj -> IAsyncResult
override this.BeginWriteRestartArea : ArraySegment<byte> * System.IO.Log.SequenceNumber * System.IO.Log.ReservationCollection * AsyncCallback * obj -> IAsyncResult
Public Function BeginWriteRestartArea (data As ArraySegment(Of Byte), newBaseSeqNum As SequenceNumber, reservation As ReservationCollection, callback As AsyncCallback, state As Object) As IAsyncResult

Parámetros

data
ArraySegment<Byte>

Una lista de segmentos de la matriz de bytes que se concatenarán y anexarán como el registro.

newBaseSeqNum
SequenceNumber

El nuevo número de secuencia base. El número de secuencia especificado debe ser mayor que o igual al número de secuencia base actual.

reservation
ReservationCollection

ReservationCollection que contiene la reserva que se debería utilizar para este área de reinicio.

callback
AsyncCallback

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

state
Object

Objeto proporcionado por el usuario que distingue esta solicitud de área de reinicio asincrónica de otras.

Devoluciones

IAsyncResult que representa la operación de escritura de área de reinicio asincrónica, que todavía podría estar pendiente.

Implementaciones

Excepciones

Uno o varios argumentos tienen el valor null.

newBaseSeqNum no está entre la base y últimos números de secuencia de esta secuencia.

O bien

Una cola de archivo nueva o existente o la base del registro activo no son válidas.

Esta secuencia del registro no creó reservations.

O bien

newBaseSeqNum no es válido para esta secuencia.

La operación no se puede realizar porque la secuencia del registro se abrió con acceso de solo lectura.

La solicitud no se puede realizar debido a una excepción de E/S inesperada.

Se llamó al método una vez eliminada la secuencia.

No hay bastante memoria para continuar la ejecución del programa.

La secuencia del registro está completa.

No se puede encontrar en data ninguna reserva lo suficientemente grande para ajustar reservations.

Comentarios

Debería pasar IAsyncResult devuelto por este método al método EndWriteRestartArea para asegurarse de que la operación de escritura de área de reinicio ha finalizado y de que se pueden liberar los recursos apropiadamente. Si se produce un error durante la escritura asincrónica, no se producirá una excepción hasta que se llame a EndWriteRestartArea con el IAsyncResult que devuelve este método.

Los datos contenidos en el parámetro data se concatenarán en una matriz de bytes única para anexarlos como el registro. Sin embargo, no se ha realizado ninguna disposición para dividir los datode nuevo en los segmentos de la matriz cuando se lee el registro.

Cuando la operación se completa correctamente, el número de secuencia base se actualiza. Todas las entradas de registro con números de secuencia menores que el nuevo número de secuencia base son inaccesibles.

Si se especifica una ReservationCollection, el área de reinicio escrita utilizará el espacio que se ha reservado previamente, utilizando una reserva contenida en la colección. Si el método tiene éxito, utilizará la reserva de menor tamaño que pueda contener los datos y esa reserva se quitará de la colección.

Si una secuencia del registro se ha eliminado, o si se pasa un argumento no válido, las excepciones se producen inmediatamente en esta operación. Los errores que se produjeron durante una solicitud de anexado asincrónica, como, por ejemplo, un error de disco durante la petición de E/S, producirá excepciones que se producen cuando se llama al método EndWriteRestartArea.

Se aplica a

BeginWriteRestartArea(IList<ArraySegment<Byte>>, SequenceNumber, ReservationCollection, AsyncCallback, Object)

Comienza una operación de escritura de área de reinicio asincrónica, utilizando el espacio reservado previamente en la secuencia. Este método no se puede heredar.

public:
 virtual IAsyncResult ^ BeginWriteRestartArea(System::Collections::Generic::IList<ArraySegment<System::Byte>> ^ data, System::IO::Log::SequenceNumber newBaseSeqNum, System::IO::Log::ReservationCollection ^ reservation, AsyncCallback ^ callback, System::Object ^ state);
public IAsyncResult BeginWriteRestartArea (System.Collections.Generic.IList<ArraySegment<byte>> data, System.IO.Log.SequenceNumber newBaseSeqNum, System.IO.Log.ReservationCollection reservation, AsyncCallback callback, object state);
abstract member BeginWriteRestartArea : System.Collections.Generic.IList<ArraySegment<byte>> * System.IO.Log.SequenceNumber * System.IO.Log.ReservationCollection * AsyncCallback * obj -> IAsyncResult
override this.BeginWriteRestartArea : System.Collections.Generic.IList<ArraySegment<byte>> * System.IO.Log.SequenceNumber * System.IO.Log.ReservationCollection * AsyncCallback * obj -> IAsyncResult
Public Function BeginWriteRestartArea (data As IList(Of ArraySegment(Of Byte)), newBaseSeqNum As SequenceNumber, reservation As ReservationCollection, callback As AsyncCallback, state As Object) As IAsyncResult

Parámetros

data
IList<ArraySegment<Byte>>

Una lista de segmentos de la matriz de bytes que se concatenarán y anexarán como el registro.

newBaseSeqNum
SequenceNumber

El nuevo número de secuencia base. El número de secuencia especificado debe ser mayor que o igual al número de secuencia base actual.

reservation
ReservationCollection

ReservationCollection que contiene la reserva que se debería utilizar para este área de reinicio.

callback
AsyncCallback

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

state
Object

Objeto proporcionado por el usuario que distingue esta solicitud de área de reinicio asincrónica de otras.

Devoluciones

IAsyncResult que representa la operación de escritura de área de reinicio asincrónica, que todavía podría estar pendiente.

Implementaciones

Excepciones

Uno o varios argumentos tienen el valor null.

newBaseSeqNum no está entre la base y últimos números de secuencia de esta secuencia.

O bien

Una cola de archivo nueva o existente o la base del registro activo no son válidas.

Esta secuencia del registro no creó reservations.

O bien

newBaseSeqNum no es válido para esta secuencia.

La operación no se puede realizar porque la secuencia del registro se abrió con acceso de solo lectura.

La solicitud no se puede realizar debido a una excepción de E/S inesperada.

Se llamó al método una vez eliminada la secuencia.

No hay bastante memoria para continuar la ejecución del programa.

La secuencia del registro está completa.

No se puede encontrar en data ninguna reserva lo suficientemente grande para ajustar reservations.

Comentarios

Debería pasar IAsyncResult devuelto por este método al método EndWriteRestartArea para asegurarse de que la operación de escritura de área de reinicio ha finalizado y de que se pueden liberar los recursos apropiadamente. Si se produce un error durante la escritura asincrónica, no se producirá una excepción hasta que se llame a EndWriteRestartArea con el IAsyncResult que devuelve este método.

Los datos contenidos en el parámetro data se concatenarán en una matriz de bytes única para anexarlos como el registro. Sin embargo, no se ha realizado ninguna disposición para dividir los datode nuevo en los segmentos de la matriz cuando se lee el registro.

Cuando la operación se completa correctamente, el número de secuencia base se actualiza. Todas las entradas de registro con números de secuencia menores que el nuevo número de secuencia base son inaccesibles.

Si se especifica una ReservationCollection, el área de reinicio escrita utilizará el espacio que se ha reservado previamente, utilizando una reserva contenida en la colección. Si el método tiene éxito, utilizará la reserva de menor tamaño que pueda contener los datos y esa reserva se quitará de la colección.

Si una secuencia del registro se ha eliminado, o si se pasa un argumento no válido, las excepciones se producen inmediatamente en esta operación. Los errores que se produjeron durante una solicitud de anexado asincrónica, como, por ejemplo, un error de disco durante la petición de E/S, producirá excepciones que se producen cuando se llama al método EndWriteRestartArea.

Se aplica a