ReservationCollection.Add(Int64) 方法

定义

分配预留并将其添加到集合中。 无法继承此方法。

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

适用于