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 .