LogRecordSequence.CreateReservationCollection 메서드

정의

ReservationCollection를 만듭니다. 이 메서드는 상속할 수 없습니다.

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

반품

새로 만든 ReservationCollection.

구현

예외

프로그램 실행을 계속하기 위한 메모리가 부족합니다.

예제

예약은 다음 예제와 같이 두 가지 방법으로 수행할 수 있습니다. 강력한 처리를 위해 샘플의 사례를 채택할 수 있습니다. 이 작업은 CLFS 기반 LogRecordSequence 클래스를 사용하는 경우에만 수행할 수 있습니다.

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

적용 대상