IRecordSequence.ReserveAndAppend Methode

Definition

Wenn sie in einer abgeleiteten Klasse überschrieben wird, wird automatisch eine einzelne Reservierung ausgeführt und ein Datensatz an die Sequenz angefügt.

Überlädt

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

Wenn sie in einer abgeleiteten Klasse überschrieben wird, wird automatisch eine einzelne Reservierung ausgeführt und ein Datensatz an die Sequenz angefügt.

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

Wenn sie in einer abgeleiteten Klasse überschrieben wird, wird automatisch eine einzelne Reservierung ausgeführt und ein Datensatz an die Sequenz angefügt.

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

Wenn sie in einer abgeleiteten Klasse überschrieben wird, wird automatisch eine einzelne Reservierung ausgeführt und ein Datensatz an die Sequenz angefügt.

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

Parameter

data
ArraySegment<Byte>

Eine Liste der Bytearraysegmente, die als Datensatz verkettet und angefügt werden.

nextUndoRecord
SequenceNumber

Die Sequenznummer des nächsten Datensatzes in der vom Benutzer angegebenen Reihenfolge.

previousRecord
SequenceNumber

Die Sequenznummer des nächsten Datensatzes in der Vorherigen Reihenfolge.

recordAppendOptions
RecordAppendOptions

Ein gültiger Wert, der RecordAppendOptions angibt, wie die Daten geschrieben werden sollen.

reservationCollection
ReservationCollection

A ReservationCollection that contains the collection to make reservations in.

reservations
Int64[]

Die Reservierungen, die in Byte vorgenommen werden sollen.

Gibt zurück

Die Sequenznummer des angefügten Protokolldatensatzes.

Ausnahmen

Mindestens eines der Argumente ist ungültig.

Beim Anfügen des Datensatzes ist ein E/A-Fehler aufgetreten.

Die Datensatzsequenz konnte nicht genügend freien Speicherplatz zur Aufnahme des neuen Datensatzes oder zur Reservierung machen.

Die Methode wurde aufgerufen, nachdem die Sequenz verworfen wurde.

Hinweise

Daten, die data im Parameter enthalten sind, werden als Datensatz in ein einzelnes Bytearray verkettet. Beim Lesen des Datensatzes werden jedoch keine Daten wieder in Arraysegmente aufgeteilt.

Die angegebenen Reservierungen werden der bereitgestellten Reservierungsauflistung in einem Atomvorgang mit einem Datensatzanfügevorgang hinzugefügt. Wenn das Anfügen fehlschlägt, ist kein Leerzeichen reserviert.

Normalerweise kann diese Methode abgeschlossen werden, bevor der Datensatz geschrieben wurde. Um sicherzustellen, dass ein Datensatz geschrieben wurde, geben Sie entweder das ForceFlush Flag mit dem recordAppendOptions Parameter an, oder rufen Sie die Flush Methode auf.

Gilt für:

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

Wenn sie in einer abgeleiteten Klasse überschrieben wird, wird automatisch eine einzelne Reservierung ausgeführt und ein Datensatz an die Sequenz angefügt.

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

Parameter

data
IList<ArraySegment<Byte>>

Eine Liste der Bytearraysegmente, die als Datensatz verkettet und angefügt werden.

nextUndoRecord
SequenceNumber

Die Sequenznummer des nächsten Datensatzes in der vom Benutzer angegebenen Reihenfolge.

previousRecord
SequenceNumber

Die Sequenznummer des nächsten Datensatzes in der Vorherigen Reihenfolge.

recordAppendOptions
RecordAppendOptions

Ein gültiger Wert, der RecordAppendOptions angibt, wie die Daten geschrieben werden sollen.

reservationCollection
ReservationCollection

Die Reservierungssammlung, um Reservierungen vorzunehmen.

reservations
Int64[]

Die Reservierungen, die in Byte vorgenommen werden sollen.

Gibt zurück

Die Sequenznummer des angefügten Protokolldatensatzes.

Ausnahmen

Mindestens eines der Argumente ist ungültig.

Beim Anfügen des Datensatzes ist ein E/A-Fehler aufgetreten.

Die Datensatzsequenz konnte nicht genügend freien Speicherplatz zur Aufnahme des neuen Datensatzes oder zur Reservierung machen.

Die Methode wurde aufgerufen, nachdem die Sequenz verworfen wurde.

Hinweise

Daten, die data im Parameter enthalten sind, werden als Datensatz in ein einzelnes Bytearray verkettet. Beim Lesen des Datensatzes werden jedoch keine Daten wieder in Arraysegmente aufgeteilt.

Die angegebenen Reservierungen werden der bereitgestellten Reservierungsauflistung in einem Atomvorgang mit einem Datensatzanfügevorgang hinzugefügt. Wenn das Anfügen fehlschlägt, ist kein Leerzeichen reserviert.

Normalerweise kann diese Methode abgeschlossen werden, bevor der Datensatz geschrieben wurde. Um sicherzustellen, dass ein Datensatz geschrieben wurde, geben Sie entweder das ForceFlush Flag mit dem recordAppendOptions Parameter an, oder rufen Sie die Flush Methode auf.

Gilt für: