LogRecordSequence.CreateReservationCollection Methode

Definition

Erstellt ein neues ReservationCollection. Diese Methode kann nicht geerbt werden.

public:
 virtual System::IO::Log::ReservationCollection ^ CreateReservationCollection();
public System.IO.Log.ReservationCollection CreateReservationCollection();
abstract member CreateReservationCollection : unit -> System.IO.Log.ReservationCollection
override this.CreateReservationCollection : unit -> System.IO.Log.ReservationCollection
Public Function CreateReservationCollection () As ReservationCollection

Gibt zurück

Die neu erstellte ReservationCollection.

Implementiert

Ausnahmen

Es ist nicht genügend Arbeitsspeicher vorhanden, um die Ausführung des Programms fortzusetzen.

Beispiele

Reservierungen können auf zwei Arten durchgeführt werden, wie in den folgenden Beispielen gezeigt. Sie können die Praktiken in den Beispielen für eine robuste Verarbeitung übernehmen. Beachten Sie, dass diese Aufgabe nur bei Verwendung der CLFS-basierten LogRecordSequence Klasse ausgeführt werden kann.

//Using the ReserveAndAppend Method
ReservationCollection reservations = recordSequence.CreateReservationCollection();
long[] lengthOfUndoRecords = new long[] { 1000 };
recordSequence.ReserveAndAppend(recordData,
                                                     userSqn,
                                                     previousSqn,
                                                     RecordSequenceAppendOptions.None,
                                                     reservations,
                                                     lengthOfUndoRecords);
recordSequence.Append(undoRecordData,    // If necessary …
                                    userSqn,
                                    previousSqn,
                                    RecordSequenceAppendOptions.ForceFlush,
                                    reservations);

// Using the Manual Approach
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: