InstancePersistenceContext.BindReclaimedLock(Int64, TimeSpan) Metódus

Definíció

Egy példány meglévő zárolását az aktuális példány leíróhoz köti. A meglévő zárolás verziója paraméterként lesz átadva.

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)

Paraméterek

instanceVersion
Int64

A példányon tárolt zárolás verziója, vagy nulla, ha az adatmegőrzési szolgáltató nem implementálja a zárolási verziókat.

timeout
TimeSpan

A művelet időtúllépési értéke.

Megjegyzések

Zárolás beszerzésekor a adatmegőrzési szolgáltató dönthet úgy, hogy az aktuális példány már zárolva van az aktuális tárban. Ha a zárolási jogkivonat megegyezik az aktuális leíró zárolási jogkivonatával, akkor az adatmegőrzési szolgáltató megpróbálhatja visszakövetelni a zárolást úgy, hogy megvizsgálja annak verzióját, és átadja azt a BindReclaimedLocknak. Az adatmegőrzési szolgáltató nem módosíthatja a példányt, amíg a zárolást sikeresen vissza nem oldja. Ha nincs más fogópont a zároláshoz kötve, akkor a BindReclaimedLock sikeres lesz, és az aktuális fogópont a zároláshoz lesz kötve. Ellenkező esetben a BindReclaimedLock az InstanceHandleConflictException parancsot dobja. Ha a parancsok más leírókon is folyamatban vannak, a BindReclaimedLock blokkolhatja a parancsok kimenetelére való várakozást, mielőtt eldöntené, hogy a zárolás visszavonható-e.

Az aktuális példányleírónak egy példányhoz és egy zárolási tulajdonoshoz kell kötődnie. A példányt nem szabad befejezni. A zárolás tulajdonosához társított zárolási jogkivonat a zárolás tulajdonosának azonosítására szolgál.

Ha a zárolás egy fogóponthoz van kötve, a fogópont élettartama alatt is meg lesz kötve. Sem a zárolási jogkivonat, sem a példány verziója nem módosítható.

A következőre érvényes: