InstancePersistenceContext.BindReclaimedLock(Int64, TimeSpan) Metoda
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Wiąże istniejącą blokadę wystąpienia z bieżącym uchwytem wystąpienia. Wersja istniejącej blokady jest przekazywana 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
Wersja blokady przechowywanej w wystąpieniu lub zero, jeśli dostawca trwałości nie implementuje wersji blokady.
- timeout
- TimeSpan
Wartość limitu czasu dla operacji.
Uwagi
Podczas próby uzyskania blokady dostawca trwałości może zdecydować, że bieżące wystąpienie jest już zablokowane w bieżącym magazynie. Jeśli token blokady jest zgodny z tokenem blokady bieżącego uchwytu, dostawca trwałości może próbować odzyskać blokadę, sprawdzając jego wersję i przekazując ją do bindReclaimedLock. Dostawca trwałości nie może wprowadzać zmian w wystąpieniu do momentu pomyślnego odzyskania blokady. Jeśli żadne inne uchwyty nie są powiązane z blokadą, funkcja BindReclaimedLock powiedzie się, a bieżący uchwyt zostanie powiązany z blokadą. W przeciwnym razie bindReclaimedLock zgłasza wyjątek InstanceHandleConflictException. Jeśli polecenia są w toku w innych uchwytach, BindReclaimedLock może zablokować oczekiwanie na wynik tych poleceń przed podjęciem decyzji, czy blokada może zostać odzyskana.
Bieżący uchwyt wystąpienia musi być powiązany z wystąpieniem i właścicielem blokady. Nie można ukończyć wystąpienia. Token blokady skojarzony z właścicielem blokady służy do identyfikowania właściciela blokady.
Gdy blokada jest powiązana z uchwytem, pozostaje powiązana przez cały okres istnienia uchwytu. Nie można zmienić ani tokenu blokady, ani wersji wystąpienia.