InstancePersistenceContext.BindReclaimedLock(Int64, TimeSpan) Metoda
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
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.