Udostępnij za pośrednictwem


LogRecordSequence.CreateReservationCollection Metoda

Definicja

Tworzy nowy adres ReservationCollection. Tej metody nie można dziedziczyć.

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

Zwraca

Nowo utworzony element ReservationCollection.

Implementuje

Wyjątki

Za mało pamięci, aby kontynuować wykonywanie programu.

Przykłady

Rezerwacje można wykonywać na dwa sposoby, jak pokazano w poniższych przykładach. Praktyki w przykładach można zastosować w celu niezawodnego przetwarzania. Zwróć uwagę, że to zadanie można wykonać tylko w przypadku korzystania z klasy opartej na LogRecordSequence clFS.

//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);  

Dotyczy