IRecordSequence.ReserveAndAppend Método

Definição

Quando sobrescrito numa classe derivada, faz automaticamente uma única reserva e acrescenta um registo à sequência.

Sobrecargas

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

Quando sobrescrito numa classe derivada, faz automaticamente uma única reserva e acrescenta um registo à sequência.

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

Quando sobrescrito numa classe derivada, faz automaticamente uma única reserva e acrescenta um registo à sequência.

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

Quando sobrescrito numa classe derivada, faz automaticamente uma única reserva e acrescenta um registo à 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 array de bytes que serão concatenados e adicionados como registo.

nextUndoRecord
SequenceNumber

O número de sequência do registo seguinte na ordem especificada pelo utilizador.

previousRecord
SequenceNumber

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

recordAppendOptions
RecordAppendOptions

Um valor válido de RecordAppendOptions isso especifica como os dados devem ser escritos.

reservationCollection
ReservationCollection

A ReservationCollection que contém a coleção para fazer reservas.

reservations
Int64[]

As reservas a fazer, em bytes.

Devoluções

O número de sequência do registo de registo anexado.

Exceções

Um ou mais dos argumentos são inválidos.

Ocorreu um erro de I/O durante a anexação do registo.

A sequência de registos não conseguiu abrir espaço livre suficiente para conter o novo registo, nem para fazer a reserva.

O método era chamado depois de a sequência ter sido eliminada.

Observações

Os dados contidos no data parâmetro serão concatenados num array de um único byte para serem adicionados como registo. No entanto, não é prevista a divisão dos dados em segmentos de array quando o registo é lido.

As reservas especificadas são adicionadas à coleção de reservas fornecida numa operação atómica com uma operação de anexação de registos. Se o anexo falhar, não há espaço reservado.

Normalmente, este método pode concluir-se antes de o registo ter sido escrito. Para garantir que um registo foi escrito, especifique o ForceFlush flag usando o recordAppendOptions parâmetro ou chame o Flush método.

Aplica-se a

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

Quando sobrescrito numa classe derivada, faz automaticamente uma única reserva e acrescenta um registo à 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 array de bytes que serão concatenados e adicionados como registo.

nextUndoRecord
SequenceNumber

O número de sequência do registo seguinte na ordem especificada pelo utilizador.

previousRecord
SequenceNumber

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

recordAppendOptions
RecordAppendOptions

Um valor válido de RecordAppendOptions isso especifica como os dados devem ser escritos.

reservationCollection
ReservationCollection

A recolha de reservas para fazer reservas em.

reservations
Int64[]

As reservas a fazer, em bytes.

Devoluções

O número de sequência do registo de registo anexado.

Exceções

Um ou mais dos argumentos são inválidos.

Ocorreu um erro de I/O durante a anexação do registo.

A sequência de registos não conseguiu abrir espaço livre suficiente para conter o novo registo, nem para fazer a reserva.

O método era chamado depois de a sequência ter sido eliminada.

Observações

Os dados contidos no data parâmetro serão concatenados num array de um único byte para serem adicionados como registo. No entanto, não é prevista a divisão dos dados em segmentos de array quando o registo é lido.

As reservas especificadas são adicionadas à coleção de reservas fornecida numa operação atómica com uma operação de anexação de registos. Se o anexo falhar, não há espaço reservado.

Normalmente, este método pode concluir-se antes de o registo ter sido escrito. Para garantir que um registo foi escrito, especifique o ForceFlush flag usando o recordAppendOptions parâmetro ou chame o Flush método.

Aplica-se a