InstancePersistenceContext.BindReclaimedLock(Int64, TimeSpan) Metod

Definition

Binder ett befintligt lås på en instans till det aktuella instanshandtaget. Versionen av det befintliga låset skickas som en parameter.

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)

Parametrar

instanceVersion
Int64

Version av låset som finns på instansen eller noll om beständighetsprovidern inte implementerar låsversioner.

timeout
TimeSpan

Tidsgränsvärdet för åtgärden.

Kommentarer

När du försöker skaffa ett lås kan beständighetsprovidern besluta att den aktuella instansen redan är låst i det aktuella arkivet. Om låstoken matchar det aktuella handtagets låstoken kan beständighetsprovidern försöka frigöra låset genom att granska dess version och skicka den till BindReclaimedLock. Beständighetsprovidern får inte göra ändringar i instansen förrän låset har återtagits. Om inget annat handtag är bundet till låset lyckas BindReclaimedLock och det aktuella handtaget blir bundet till låset. Annars genererar BindReclaimedLock InstanceHandleConflictException. Om kommandon pågår på andra referenser kan BindReclaimedLock blockera väntan på resultatet av dessa kommandon innan du bestämmer om låset kan frigöras.

Det aktuella instanshandtaget måste vara bundet till en instans och en låsägare. Instansen får inte slutföras. Låstoken som är associerad med låsägaren används för att identifiera låsets ägare.

När ett lås är bundet till ett handtag förblir det bundet till handtagets livslängd. Varken låstoken eller instansversionen kan ändras.

Gäller för