IRecordSequence.BeginReserveAndAppend Método

Definición

Cuando se invalida en una clase derivada, comienza una operación de reserva asincrónica y de anexado.When overridden in a derived class, begins an asynchronous reserve and append operation.

Sobrecargas

BeginReserveAndAppend(ArraySegment<Byte>, SequenceNumber, SequenceNumber, RecordAppendOptions, ReservationCollection, Int64[], AsyncCallback, Object)

Cuando se invalida en una clase derivada, comienza una operación de reserva asincrónica y de anexado.When overridden in a derived class, begins an asynchronous reserve and append operation.

BeginReserveAndAppend(IList<ArraySegment<Byte>>, SequenceNumber, SequenceNumber, RecordAppendOptions, ReservationCollection, Int64[], AsyncCallback, Object)

Cuando se invalida en una clase derivada, comienza una operación de reserva asincrónica y de anexado.When overridden in a derived class, begins an asynchronous reserve and append operation.

BeginReserveAndAppend(ArraySegment<Byte>, SequenceNumber, SequenceNumber, RecordAppendOptions, ReservationCollection, Int64[], AsyncCallback, Object)

Cuando se invalida en una clase derivada, comienza una operación de reserva asincrónica y de anexado.When overridden in a derived class, begins an asynchronous reserve and append operation.

public:
 IAsyncResult ^ BeginReserveAndAppend(ArraySegment<System::Byte> data, System::IO::Log::SequenceNumber nextUndoRecord, System::IO::Log::SequenceNumber previousRecord, System::IO::Log::RecordAppendOptions recordAppendOptions, System::IO::Log::ReservationCollection ^ reservationCollection, cli::array <long> ^ reservations, AsyncCallback ^ callback, System::Object ^ state);
public IAsyncResult BeginReserveAndAppend (ArraySegment<byte> data, System.IO.Log.SequenceNumber nextUndoRecord, System.IO.Log.SequenceNumber previousRecord, System.IO.Log.RecordAppendOptions recordAppendOptions, System.IO.Log.ReservationCollection reservationCollection, long[] reservations, AsyncCallback callback, object state);
abstract member BeginReserveAndAppend : ArraySegment<byte> * System.IO.Log.SequenceNumber * System.IO.Log.SequenceNumber * System.IO.Log.RecordAppendOptions * System.IO.Log.ReservationCollection * int64[] * AsyncCallback * obj -> IAsyncResult
Public Function BeginReserveAndAppend (data As ArraySegment(Of Byte), nextUndoRecord As SequenceNumber, previousRecord As SequenceNumber, recordAppendOptions As RecordAppendOptions, reservationCollection As ReservationCollection, reservations As Long(), 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.A list of byte array segments that will be concatenated and appended as the record.

nextUndoRecord
SequenceNumber

El número de secuencia del registro siguiente en el orden especificado por el usuario.The sequence number of the next record in the user-specified order.

previousRecord
SequenceNumber

El número de secuencia del registro siguiente en orden anterior.The sequence number of the next record in Previous order.

recordAppendOptions
RecordAppendOptions

Un valor válido de RecordAppendOptions que especifica cómo se deberían escribir los datos.A valid value of RecordAppendOptions that specifies how the data should be written.

reservationCollection
ReservationCollection

La colección de reservas en la que realizar las reservas.The reservation collection to make reservations in.

reservations
Int64[]

Las reservas que se han de realizar, en bytes.The reservations to make, in bytes.

callback
AsyncCallback

Devolución de llamada asincrónica opcional, a la que se llamará cuando haya finalizado el anexado.An optional asynchronous callback, to be called when the append is complete.

state
Object

Objeto proporcionado por el usuario que distingue esta solicitud de anexado asincrónica de otras.A user-provided object that distinguishes this particular asynchronous append request from other requests.

Devoluciones

IAsyncResult

Un IAsyncResult que representa esta operación asincrónica, que podría estar aún pendiente.An IAsyncResult that represents this asynchronous operation, which could still be pending.

Excepciones

Uno o varios argumentos no son válidos.One or more of the arguments is invalid.

Ha ocurrido un error de E/S al anexar un registro.An I/O error occurred while appending the record.

La secuencia del registro no pudo liberar espacio suficiente para contener el nuevo registro o para hacer la reserva.The record sequence could not make enough free space to contain the new record, or to make the reservation.

Se llamó al método una vez eliminada la secuencia.The method was called after the sequence has been disposed of.

Comentarios

Debería pasar IAsyncResult devuelto por este método al método EndReserveAndAppend para asegurarse que la operación de anexado ha finalizado y que se pueden liberar los recursos apropiadamente.You should pass the IAsyncResult returned by this method to the EndReserveAndAppend method to ensure that the append operation has completed and resources can be freed appropriately. Si se ha producido un error durante el anexado asincrónico, no se produce una excepción hasta que se llame al método EndReserveAndAppend con el IAsyncResult que devuelve este método.If an error has occurred during an asynchronous append, an exception is not thrown until the EndReserveAndAppend method is called with the IAsyncResult returned by this method.

Los datos contenidos en el parámetro data se concatenarán en una matriz de bytes única para anexarlos como el registro.Data contained in the data parameter will be concatenated into a single byte array for appending as the record. 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.However, no provision is made for splitting data back into array segments when the record is read.

Las reservas especificadas se agregan a la colección de reservas proporcionada en una operación atómica con una operación de anexado de registro.The specified reservations are added to the provided reservation collection in an atomic operation with a record append operation. Si no se produce el anexado, no se reserva ningún espacio.If the append fails, no space is reserved.

Normalmente, este método puede completarse antes de que se haya escrito el registro.Normally, this method may complete before the record has been written. Para asegurarse de que se ha escrito un registro, especifique la marca ForceFlush utilizando el parámetro recordAppendOptions o llame al método Flush.To ensure that a record has been written, either specify the ForceFlush flag using the recordAppendOptions parameter, or call the Flush method.

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.If a record sequence has been disposed of, or if you pass an invalid argument, exceptions are thrown immediately within this operation. 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 EndReserveAndAppend.Errors that occurred during an asynchronous append request, for example, a disk failure during the I/O request, will result in exceptions being thrown when the EndReserveAndAppend method is called.

Se aplica a

BeginReserveAndAppend(IList<ArraySegment<Byte>>, SequenceNumber, SequenceNumber, RecordAppendOptions, ReservationCollection, Int64[], AsyncCallback, Object)

Cuando se invalida en una clase derivada, comienza una operación de reserva asincrónica y de anexado.When overridden in a derived class, begins an asynchronous reserve and append operation.

public:
 IAsyncResult ^ BeginReserveAndAppend(System::Collections::Generic::IList<ArraySegment<System::Byte>> ^ data, System::IO::Log::SequenceNumber nextUndoRecord, System::IO::Log::SequenceNumber previousRecord, System::IO::Log::RecordAppendOptions recordAppendOptions, System::IO::Log::ReservationCollection ^ reservationCollection, cli::array <long> ^ reservations, AsyncCallback ^ callback, System::Object ^ state);
public IAsyncResult BeginReserveAndAppend (System.Collections.Generic.IList<ArraySegment<byte>> data, System.IO.Log.SequenceNumber nextUndoRecord, System.IO.Log.SequenceNumber previousRecord, System.IO.Log.RecordAppendOptions recordAppendOptions, System.IO.Log.ReservationCollection reservationCollection, long[] reservations, AsyncCallback callback, object state);
abstract member BeginReserveAndAppend : System.Collections.Generic.IList<ArraySegment<byte>> * System.IO.Log.SequenceNumber * System.IO.Log.SequenceNumber * System.IO.Log.RecordAppendOptions * System.IO.Log.ReservationCollection * int64[] * AsyncCallback * obj -> IAsyncResult
Public Function BeginReserveAndAppend (data As IList(Of ArraySegment(Of Byte)), nextUndoRecord As SequenceNumber, previousRecord As SequenceNumber, recordAppendOptions As RecordAppendOptions, reservationCollection As ReservationCollection, reservations As Long(), 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.A list of byte array segments that will be concatenated and appended as the record.

nextUndoRecord
SequenceNumber

El número de secuencia del registro siguiente en el orden especificado por el usuario.The sequence number of the next record in the user-specified order.

previousRecord
SequenceNumber

El número de secuencia del registro siguiente en orden anterior.The sequence number of the next record in Previous order.

recordAppendOptions
RecordAppendOptions

Un valor válido de RecordAppendOptions que especifica cómo se deberían escribir los datos.A valid value of RecordAppendOptions that specifies how the data should be written.

reservationCollection
ReservationCollection

La colección de reservas en la que realizar las reservas.The reservation collection to make reservations in.

reservations
Int64[]

Las reservas que se han de realizar, en bytes.The reservations to make, in bytes.

callback
AsyncCallback

Devolución de llamada asincrónica opcional, a la que se llamará cuando haya finalizado el anexado.An optional asynchronous callback, to be called when the append is complete.

state
Object

Objeto proporcionado por el usuario que distingue esta solicitud de anexado asincrónica de otras.A user-provided object that distinguishes this particular asynchronous append request from other requests.

Devoluciones

IAsyncResult

Un IAsyncResult que representa esta operación asincrónica, que podría estar aún pendiente.An IAsyncResult that represents this asynchronous operation, which could still be pending.

Excepciones

Uno o varios argumentos no son válidos.One or more of the arguments is invalid.

Ha ocurrido un error de E/S al anexar un registro.An I/O error occurred while appending the record.

La secuencia del registro no pudo liberar espacio suficiente para contener el nuevo registro o para hacer la reserva.The record sequence could not make enough free space to contain the new record, or to make the reservation.

Se llamó al método una vez eliminada la secuencia.The method was called after the sequence has been disposed of.

Comentarios

Debería pasar IAsyncResult devuelto por este método al método EndReserveAndAppend para asegurarse que la operación de anexado ha finalizado y que se pueden liberar los recursos apropiadamente.You should pass the IAsyncResult returned by this method to the EndReserveAndAppend method to ensure that the append operation has completed and resources can be freed appropriately. Si se ha producido un error durante el anexado asincrónico, no se produce una excepción hasta que se llame al método EndReserveAndAppend con el IAsyncResult que devuelve este método.If an error has occurred during an asynchronous append, an exception is not thrown until the EndReserveAndAppend method is called with the IAsyncResult returned by this method.

Los datos contenidos en el parámetro data se concatenarán en una matriz de bytes única para anexarlos como el registro.Data contained in the data parameter will be concatenated into a single byte array for appending as the record. 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.However, no provision is made for splitting data back into array segments when the record is read.

Las reservas especificadas se agregan a la colección de reservas proporcionada en una operación atómica con una operación de anexado de registro.The specified reservations are added to the provided reservation collection in an atomic operation with a record append operation. Si no se produce el anexado, no se reserva ningún espacio.If the append fails, no space is reserved.

Normalmente, este método puede completarse antes de que se haya escrito el registro.Normally, this method may complete before the record has been written. Para asegurarse de que se ha escrito un registro, especifique la marca ForceFlush utilizando el parámetro recordAppendOptions o llame al método Flush.To ensure that a record has been written, either specify the ForceFlush flag using the recordAppendOptions parameter, or call the Flush method.

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.If a record sequence has been disposed of, or if you pass an invalid argument, exceptions are thrown immediately within this operation. 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 EndReserveAndAppend.Errors that occurred during an asynchronous append request, for example, a disk failure during the I/O request, will result in exceptions being thrown when the EndReserveAndAppend method is called.

Se aplica a