Compartilhar via


IRecordSequence.ReserveAndAppend Método

Definição

Quando substituída em uma classe derivada, faz automaticamente uma única reserva e acrescenta um registro à sequência.

Sobrecargas

ReserveAndAppend(ArraySegment<Byte>, SequenceNumber, SequenceNumber, RecordAppendOptions, ReservationCollection, Int64[])

Quando substituída em uma classe derivada, faz automaticamente uma única reserva e acrescenta um registro à sequência.

ReserveAndAppend(IList<ArraySegment<Byte>>, SequenceNumber, SequenceNumber, RecordAppendOptions, ReservationCollection, Int64[])

Quando substituída em uma classe derivada, faz automaticamente uma única reserva e acrescenta um registro à sequência.

ReserveAndAppend(ArraySegment<Byte>, SequenceNumber, SequenceNumber, RecordAppendOptions, ReservationCollection, Int64[])

Quando substituída em uma classe derivada, faz automaticamente uma única reserva e acrescenta um registro à sequência.

public:
 System::IO::Log::SequenceNumber ReserveAndAppend(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);
public System.IO.Log.SequenceNumber ReserveAndAppend (ArraySegment<byte> data, System.IO.Log.SequenceNumber nextUndoRecord, System.IO.Log.SequenceNumber previousRecord, System.IO.Log.RecordAppendOptions recordAppendOptions, System.IO.Log.ReservationCollection reservationCollection, params long[] reservations);
abstract member ReserveAndAppend : ArraySegment<byte> * System.IO.Log.SequenceNumber * System.IO.Log.SequenceNumber * System.IO.Log.RecordAppendOptions * System.IO.Log.ReservationCollection * int64[] -> System.IO.Log.SequenceNumber
Public Function ReserveAndAppend (data As ArraySegment(Of Byte), nextUndoRecord As SequenceNumber, previousRecord As SequenceNumber, recordAppendOptions As RecordAppendOptions, reservationCollection As ReservationCollection, ParamArray reservations As Long()) As SequenceNumber

Parâmetros

data
ArraySegment<Byte>

Uma lista de segmentos de matriz de bytes que serão concatenados e acrescentados como o registro.

nextUndoRecord
SequenceNumber

O número de sequência do próximo registro na ordem especificada pelo usuário.

previousRecord
SequenceNumber

O número de sequência do próximo registro na ordem Anterior.

recordAppendOptions
RecordAppendOptions

Um valor válido de RecordAppendOptions que especifica como os dados devem ser gravados.

reservationCollection
ReservationCollection

Um ReservationCollection que contém a coleção na qual fazer reservas.

reservations
Int64[]

As reservas a fazer, em bytes.

Retornos

O número de sequência do registro de log acrescentado.

Exceções

Um ou mais argumentos são inválidos.

Um erro de E/S ocorreu ao acrescentar o registro.

A sequência de registro não pôde gerar espaço livre suficiente para conter o novo registro ou para fazer a reserva.

O método foi chamado depois que a sequência foi descartada.

Comentários

Os dados contidos no data parâmetro serão concatenados em uma única matriz de bytes para acrescentar como o registro. No entanto, nenhuma provisão é feita para dividir dados novamente em segmentos de matriz quando o registro é lido.

As reservas especificadas são adicionadas à coleção de reserva fornecida em uma operação atômica com uma operação de acréscimo de registro. Se o acréscimo falhar, nenhum espaço será reservado.

Normalmente, esse método pode ser concluído antes da gravação do registro. Para garantir que um registro tenha sido gravado, especifique o ForceFlush sinalizador usando o recordAppendOptions parâmetro ou chame o Flush método .

Aplica-se a

ReserveAndAppend(IList<ArraySegment<Byte>>, SequenceNumber, SequenceNumber, RecordAppendOptions, ReservationCollection, Int64[])

Quando substituída em uma classe derivada, faz automaticamente uma única reserva e acrescenta um registro à sequência.

public:
 System::IO::Log::SequenceNumber ReserveAndAppend(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);
public System.IO.Log.SequenceNumber ReserveAndAppend (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, params long[] reservations);
abstract member ReserveAndAppend : System.Collections.Generic.IList<ArraySegment<byte>> * System.IO.Log.SequenceNumber * System.IO.Log.SequenceNumber * System.IO.Log.RecordAppendOptions * System.IO.Log.ReservationCollection * int64[] -> System.IO.Log.SequenceNumber
Public Function ReserveAndAppend (data As IList(Of ArraySegment(Of Byte)), nextUndoRecord As SequenceNumber, previousRecord As SequenceNumber, recordAppendOptions As RecordAppendOptions, reservationCollection As ReservationCollection, ParamArray reservations As Long()) As SequenceNumber

Parâmetros

data
IList<ArraySegment<Byte>>

Uma lista de segmentos de matriz de bytes que serão concatenados e acrescentados como o registro.

nextUndoRecord
SequenceNumber

O número de sequência do próximo registro na ordem especificada pelo usuário.

previousRecord
SequenceNumber

O número de sequência do próximo registro na ordem Anterior.

recordAppendOptions
RecordAppendOptions

Um valor válido de RecordAppendOptions que especifica como os dados devem ser gravados.

reservationCollection
ReservationCollection

A coleção de reservas na qual fazer reservas.

reservations
Int64[]

As reservas a fazer, em bytes.

Retornos

O número de sequência do registro de log acrescentado.

Exceções

Um ou mais argumentos são inválidos.

Um erro de E/S ocorreu ao acrescentar o registro.

A sequência de registro não pôde gerar espaço livre suficiente para conter o novo registro ou para fazer a reserva.

O método foi chamado depois que a sequência foi descartada.

Comentários

Os dados contidos no data parâmetro serão concatenados em uma única matriz de bytes para acrescentar como o registro. No entanto, nenhuma provisão é feita para dividir dados novamente em segmentos de matriz quando o registro é lido.

As reservas especificadas são adicionadas à coleção de reserva fornecida em uma operação atômica com uma operação de acréscimo de registro. Se o acréscimo falhar, nenhum espaço será reservado.

Normalmente, esse método pode ser concluído antes da gravação do registro. Para garantir que um registro tenha sido gravado, especifique o ForceFlush sinalizador usando o recordAppendOptions parâmetro ou chame o Flush método .

Aplica-se a