FileRecordSequence.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.
Faz automaticamente uma única reserva e acrescenta um registro à sequência.
Sobrecargas
ReserveAndAppend(IList<ArraySegment<Byte>>, SequenceNumber, SequenceNumber, RecordAppendOptions, ReservationCollection, Int64[]) |
Faz automaticamente uma única reserva e acrescenta um registro à sequência. Esse método não pode ser herdado. |
ReserveAndAppend(ArraySegment<Byte>, SequenceNumber, SequenceNumber, RecordAppendOptions, ReservationCollection, Int64[]) |
Faz automaticamente uma única reserva e acrescenta um registro à sequência. Esse método não pode ser herdado. |
ReserveAndAppend(IList<ArraySegment<Byte>>, SequenceNumber, SequenceNumber, RecordAppendOptions, ReservationCollection, Int64[])
Faz automaticamente uma única reserva e acrescenta um registro à sequência. Esse método não pode ser herdado.
public:
virtual 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
override this.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.
Implementações
Exceções
Um ou mais argumentos são null
.
Um ou mais argumentos estão fora do intervalo.
reservations
não foi criado por essa sequência de registro.
Não é possível executar a operação porque a sequência de registros foi aberta com acesso somente leitura.
A solicitação não pôde ser executada devido a uma exceção de E/S inesperada.
O método foi chamado depois que a sequência foi descartada.
Não há memória suficiente para continuar a execução do programa.
A sequência de registros está cheia.
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(ArraySegment<Byte>, SequenceNumber, SequenceNumber, RecordAppendOptions, ReservationCollection, Int64[])
Faz automaticamente uma única reserva e acrescenta um registro à sequência. Esse método não pode ser herdado.
public:
virtual 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
override this.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.
Implementações
Exceções
Um ou mais argumentos são null
.
Um ou mais argumentos estão fora do intervalo.
reservations
não foi criado por essa sequência de registro.
Não é possível executar a operação porque a sequência de registros foi aberta com acesso somente leitura.
A solicitação não pôde ser executada devido a uma exceção de E/S inesperada.
O método foi chamado depois que a sequência foi descartada.
Não há memória suficiente para continuar a execução do programa.
A sequência de registros está cheia.
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 .