Freigeben über


ReservationCollection.Add(Int64) Methode

Definition

Ordnet eine Reservierung zu und fügt sie der Auflistung hinzu. Diese Methode kann nicht vererbt werden.

public:
 virtual void Add(long size);
public void Add (long size);
abstract member Add : int64 -> unit
override this.Add : int64 -> unit
Public Sub Add (size As Long)

Parameter

size
Int64

Die Größe der angeforderten Reservierung in Byte.

Implementiert

Ausnahmen

archiveTail befindet sich nicht zwischen der Basissequenznummer und der letzten Sequenznummer dieser Sequenz.

size ist ungültig oder übersteigt die maximale Reservierungsgröße.

Ein E/A-Fehler tritt auf, wenn die Archivmomentaufnahme erstellt wird.

Die Methode wurde aufgerufen, nachdem die Sequenz verworfen wurde.

Der Arbeitsspeicher reicht nicht aus, um die Ausführung des Programms fortzusetzen.

Der Zugriff auf den angegebenen Protokollspeicher wird vom Betriebssystem verweigert.

Die Datensatzsequenz ist voll.

Beispiele

Das folgende Beispiel stellt dar, wie Sie manuell eine Reservierung vornehmen. Beachten Sie, dass diese Aufgabe nur bei Verwendung der CLFS-basierten LogRecordSequence-Klasse ausgeführt werden kann.

ReservationCollection reservations = recordSequence.CreateReservationCollection();  
reservations.Add(lengthOfUndoRecord);  
try  
{  
   recordSequence.Append(recordData, userSqn, previousSqn, RecordAppendOptions.None);  
}  
catch (Exception)  
{  
   reservations.Remove(lengthOfUndoRecord);  
   throw;  
}  

recordSequence.Append(undoRecordData, userSqn, previousSqn, RecordAppendOptions.ForceFlush, reservations);  

Gilt für: