IRecordSequence.ReserveAndAppend Metodo

Definizione

Quando sottoposto a override in una classe derivata, crea automaticamente una singola prenotazione e aggiunge un record alla sequenza.

Overload

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

Quando sottoposto a override in una classe derivata, crea automaticamente una singola prenotazione e aggiunge un record alla sequenza.

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

Quando sottoposto a override in una classe derivata, crea automaticamente una singola prenotazione e aggiunge un record alla sequenza.

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

Quando sottoposto a override in una classe derivata, crea automaticamente una singola prenotazione e aggiunge un record alla sequenza.

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

Parametri

data
ArraySegment<Byte>

Elenco di segmenti di matrice di byte che verranno concatenati e accodati come record.

nextUndoRecord
SequenceNumber

Numero di sequenza del record successivo nell'ordine specificato dall'utente.

previousRecord
SequenceNumber

Numero di sequenza del record successivo nell'ordine precedente.

recordAppendOptions
RecordAppendOptions

Valore valido di che specifica la modalità di RecordAppendOptions scrittura dei dati.

reservationCollection
ReservationCollection

Oggetto ReservationCollection contenente la raccolta in cui effettuare prenotazioni.

reservations
Int64[]

Prenotazioni da effettuare, in byte.

Valori restituiti

Numero di sequenza del record di log accodato.

Eccezioni

Uno o più argomenti non sono validi.

Errore di I/O durante l'aggiunta del record.

La sequenza di record non è riuscita a liberare spazio sufficiente per contenere il nuovo record o per effettuare la prenotazione.

Il metodo è stato chiamato dopo che la sequenza è stata eliminata.

Commenti

I dati contenuti nel data parametro verranno concatenati in una singola matrice di byte per l'aggiunta come record. Tuttavia, non viene effettuato alcun provisioning per la suddivisione dei dati in segmenti di matrice quando il record viene letto.

Le prenotazioni specificate vengono aggiunte alla raccolta di prenotazioni fornita in un'operazione atomica con un'operazione di accodamento di record. Se l'accodamento non riesce, non viene riservato alcuno spazio.

In genere, questo metodo può essere completato prima della scrittura del record. Per assicurarsi che sia stato scritto un record, specificare il ForceFlush flag usando il recordAppendOptions parametro o chiamare il Flush metodo .

Si applica a

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

Quando sottoposto a override in una classe derivata, crea automaticamente una singola prenotazione e aggiunge un record alla sequenza.

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

Parametri

data
IList<ArraySegment<Byte>>

Elenco di segmenti di matrice di byte che verranno concatenati e accodati come record.

nextUndoRecord
SequenceNumber

Numero di sequenza del record successivo nell'ordine specificato dall'utente.

previousRecord
SequenceNumber

Numero di sequenza del record successivo nell'ordine precedente.

recordAppendOptions
RecordAppendOptions

Valore valido di che specifica la modalità di RecordAppendOptions scrittura dei dati.

reservationCollection
ReservationCollection

Raccolta di prenotazioni in cui effettuare prenotazioni.

reservations
Int64[]

Prenotazioni da effettuare, in byte.

Valori restituiti

Numero di sequenza del record di log accodato.

Eccezioni

Uno o più argomenti non sono validi.

Errore di I/O durante l'aggiunta del record.

La sequenza di record non è riuscita a liberare spazio sufficiente per contenere il nuovo record o per effettuare la prenotazione.

Il metodo è stato chiamato dopo che la sequenza è stata eliminata.

Commenti

I dati contenuti nel data parametro verranno concatenati in una singola matrice di byte per l'aggiunta come record. Tuttavia, non viene effettuato alcun provisioning per la suddivisione dei dati in segmenti di matrice quando il record viene letto.

Le prenotazioni specificate vengono aggiunte alla raccolta di prenotazioni fornita in un'operazione atomica con un'operazione di accodamento di record. Se l'accodamento non riesce, non viene riservato alcuno spazio.

In genere, questo metodo può essere completato prima della scrittura del record. Per assicurarsi che sia stato scritto un record, specificare il ForceFlush flag usando il recordAppendOptions parametro o chiamare il Flush metodo .

Si applica a