IRecordSequence.ReserveAndAppend Método
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
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 .