Aracılığıyla paylaş


LogRecordSequence.CreateReservationCollection Yöntem

Tanım

Yeni bir ReservationCollection oluşturur. Bu yöntem devralınamaz.

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

Döndürülenler

Yeni oluşturulan ReservationCollection.

Uygulamalar

Özel durumlar

Programın yürütülmesine devam etmek için yeterli bellek yok.

Örnekler

Rezervasyonlar aşağıdaki örneklerde gösterildiği gibi iki şekilde gerçekleştirilebilir. Güçlü işleme için örneklerdeki uygulamaları benimseyebilirsiniz. Bu görevin yalnızca CLFS tabanlı LogRecordSequence sınıf kullanılırken gerçekleştirilebildiğine dikkat edin.

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

Şunlara uygulanır