InstancePersistenceContext.BeginBindReclaimedLock 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í.
Zahajte asynchronní operaci svázání existujícího zámku instance s aktuálním popisovačem 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 uchovanou na instanci, nebo nula, pokud poskytovatel trvalosti neimplementuje verze zámku.
- timeout
- TimeSpan
Časový limit asynchronní operace
- callback
- AsyncCallback
Metoda, která má být volána po 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 se zprostředkovatel trvalosti může rozhodnout, že aktuální instance je už uzamčená v aktuálním obchodě. Pokud token zámku odpovídá zamykacímu tokenu aktuálního popisovače, může se zprostředkovatel trvalosti pokusit získat zámek zpět tak, že prověří jeho verzi a předá ho do BeginBindReclaimedLock. Zprostředkovatel trvalosti nesmí provádět změny instance, dokud se zámek úspěšně neudělí. Pokud se k zámku neváže žádný jiný popisovač, operace BeginBindReclaimedLock bude úspěšná a aktuální popisovač se sváže se zámkem. Jinak BeginBindReclaimedLock nebo EndBindReclaimedLock vyvolá výjimku InstanceHandleConflictException. Pokud příkazy probíhají na jiných popisovačech, operace se nemusí dokončit při čekání na výsledek těchto příkazů a rozhodnout se, jestli se zámek může zamknout.
Aktuální popisovač instance musí být svázán s instancí a vlastníkem zámku. Instance nesmí být dokončena. K identifikaci vlastníka zámku se používá token lock přidružený k vlastníkovi zámku.
Jakmile je zámek svázán s popisovačem, zůstane svázán po celou dobu životnosti popisovače. Není možné změnit token zámku ani verzi instance.