ReservationCollection.Remove(Int64) 方法

定义

释放指定大小的预留(如果已生成)。 无法继承此方法。

public:
 virtual bool Remove(long item);
public bool Remove (long item);
abstract member Remove : int64 -> bool
override this.Remove : int64 -> bool
Public Function Remove (item As Long) As Boolean

参数

item
Int64

要释放的预留的大小。

返回

如果已找到并移除指定大小的预留,则为 true;否则为 false

实现

例外

在指定的预留集合中找不到足以容纳提供的记录的预留。

创建存档快照时发生 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);  

适用于