ReservationCollection.Add(Int64) 方法
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
配置保留,並將其新增至集合。 這個方法無法被繼承。
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)
參數
- size
- Int64
所要求保留的大小,以位元組為單位。
實作
例外狀況
archiveTail
不是介於這個順序的基底序號和最後一個序號之間。
size
無效或是超過保留大小上限。
建立封存快照時發生 I/O 錯誤。
已在處置序列之後呼叫此方法。
沒有足夠的記憶體可以繼續執行程式。
存取指定的記錄存放區遭作業系統拒絕。
記錄順序已滿。
範例
下列範例將示範如何手動建立保留。 請注意,您只能在使用 CLFS 的 LogRecordSequence 類別時執行這項工作。
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);