InstancePersistenceContext.BeginBindReclaimedLock Metoda

Definice

Spusťte asynchronní operaci, která 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:
 IAsyncResult ^ BeginBindReclaimedLock(long instanceVersion, TimeSpan timeout, AsyncCallback ^ callback, System::Object ^ state);
public IAsyncResult BeginBindReclaimedLock(long instanceVersion, TimeSpan timeout, AsyncCallback callback, object state);
member this.BeginBindReclaimedLock : int64 * TimeSpan * AsyncCallback * obj -> IAsyncResult
Public Function BeginBindReclaimedLock (instanceVersion As Long, timeout As TimeSpan, callback As AsyncCallback, state As Object) As IAsyncResult

Parametry

instanceVersion
Int64

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

timeout
TimeSpan

Časový limit pro asynchronní operaci.

callback
AsyncCallback

Metoda, která se má volat při dokončení operace.

state
Object

Informace o stavu přidružené k asynchronní operaci.

Návraty

Stav asynchronní 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 BeginBindReclaimedLock. 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č, operace BeginBindReclaimedLock proběhne úspěšně a aktuální popisovač se stane svázaným s zámkem. Jinak BeginBindReclaimedLock nebo EndBindReclaimedLock vyvolá InstanceHandleConflictException. Pokud příkazy probíhají v jiných popisovačích, nemusí se operace dokončit při čekání na výsledek těchto příkazů a rozhodnout se, jestli se zámek dá 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