InstancePersistenceContext.BindReclaimedLock(Int64, TimeSpan) Metoda

Definice

Vytvoří vazbu existujícího zámku instance na aktuální popisovač instance. Verze existujícího zámku se předává jako parametr.

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)

Parametry

instanceVersion
Int64

Verze zámku uchovávaného v instanci nebo nula, pokud poskytovatel trvalosti neimplementuje verze zámků.

timeout
TimeSpan

Hodnota časového limitu operace.

Poznámky

Při pokusu o získání zámku může poskytovatel trvalosti rozhodnout, že aktuální instance je již uzamčena v aktuálním úložišti. Pokud token zámku odpovídá tokenu zámku aktuálního popisovače, může se poskytovatel trvalosti pokusit zámek uvolnit kontrolou jeho verze a předáním do BindReclaimedLock. Zprostředkovatel trvalosti nesmí v instanci provádět změny, dokud se zámek úspěšně neuvolní. Pokud není k zámku vázán žádný jiný popisovač, bindReclaimedLock proběhne úspěšně a aktuální popisovač se stane vázán na zámek. Jinak BindReclaimedLock vyvolá InstanceHandleConflictException. Pokud příkazy probíhají v jiných popisovačích, BindReclaimedLock může blokovat čekání na výsledek těchto příkazů předtím, než se rozhodne, zda lze zámek uvolnit.

Aktuální popisovač instance musí být svázán s instancí a vlastníkem zámku. Instance nesmí být dokončena. Token zámku přidružený k vlastníkovi zámku slouží k identifikaci vlastníka zámku.

Jakmile je zámek svázaný s úchytem, zůstane vázán po dobu životnosti úchytu. Token zámku ani verzi instance nelze změnit.

Platí pro