Compartir a través de


LogRecordSequence.BeginWriteRestartArea Método

Definición

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

Sobrecargas

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.

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 ^ reservationCollection, AsyncCallback ^ callback, System::Object ^ state);
public IAsyncResult BeginWriteRestartArea (System.Collections.Generic.IList<ArraySegment<byte>> data, System.IO.Log.SequenceNumber newBaseSeqNum, System.IO.Log.ReservationCollection reservationCollection, 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, reservationCollection 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.

reservationCollection
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

newBaseSeqNum no es válido para esta secuencia.

o bien

La secuencia de inicio de enumeración del registro especificada no es válida.

o bien

No se pueden anexar data porque es mayor que el tamaño de registro máximo.

o bien

Esta secuencia del registro no creó reservationCollection.

Uno o más de los parámetros tienen el valor null.

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

o bien

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

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

o bien

La solicitud no se pudo realizar debido a un error de dispositivo de E/S.

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

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

El sistema operativo ha denegado el acceso a la secuencia de registro especificado.

La secuencia del registro está completa.

Comentarios

Debería pasar IAsyncResult devuelto por este método al método EndWriteRestartArea para asegurarse que la operación de escritura de área de reinicio ha finalizado y 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(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>

Segmentos de la matriz de bytes que se concatenarán y se 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

newBaseSeqNum no es válido para esta secuencia.

o bien

La secuencia de inicio de enumeración del registro especificada no es válida.

o bien

No se pueden anexar data porque es mayor que el tamaño de registro máximo.

o bien

Esta secuencia del registro no creó reservation.

Uno o más de los parámetros tienen el valor null.

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

o bien

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

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

o bien

La solicitud no se pudo realizar debido a un error de dispositivo de E/S.

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

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

El sistema operativo ha denegado el acceso a la secuencia de registro especificado.

La secuencia del registro está completa.

Comentarios

Debería pasar IAsyncResult devuelto por este método al método EndWriteRestartArea para asegurarse que la operación de escritura de área de reinicio ha finalizado y 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