InstancePersistenceContext.BindReclaimedLock(Int64, TimeSpan) 方法
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
将实例上的现有锁绑定到当前实例句柄。 现有锁的版本作为参数传递。
public:
void BindReclaimedLock(long instanceVersion, TimeSpan timeout);
public void BindReclaimedLock(long instanceVersion, TimeSpan timeout);
member this.BindReclaimedLock : int64 * TimeSpan -> unit
Public Sub BindReclaimedLock (instanceVersion As Long, timeout As TimeSpan)
参数
- instanceVersion
- Int64
实例上保留的锁的版本,如果持久性提供程序未实现锁版本,则为零。
- timeout
- TimeSpan
操作的超时值。
注解
尝试获取锁时,持久性提供程序可能会决定当前实例已在当前存储中锁定。 如果锁令牌与当前句柄的锁令牌匹配,则持久性提供程序可以通过检查其版本并将其传递给 BindReclaimedLock 来尝试回收锁。 在成功回收锁之前,持久性提供程序不得对实例进行更改。 如果没有其他句柄绑定到锁,则 BindReclaimedLock 会成功,并且当前句柄将绑定到该锁。 否则,BindReclaimedLock 将引发 InstanceHandleConflictException。 如果命令在其他句柄上正在进行,BindReclaimedLock 可能会在确定是否可以回收锁之前阻止等待这些命令的结果。
当前实例句柄必须绑定到实例和锁所有者。 实例不能完成。 与锁所有者关联的锁令牌用于标识锁的所有者。
锁定绑定到句柄后,它将在句柄的生存期内保持绑定状态。 锁令牌和实例版本都不能更改。