InstancePersistenceContext.BindReclaimedLock(Int64, TimeSpan) Methode

Definition

Bindet eine vorhandene Sperre für eine Instanz an das aktuelle Instanzhandle. Die Version der vorhandenen Sperre wird als Parameter übergeben.

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)

Parameter

instanceVersion
Int64

Version der Sperre, die auf der Instanz oder null gehalten wird, wenn der Persistenzanbieter keine Sperrversionen implementiert.

timeout
TimeSpan

Der Timeoutwert für den Vorgang.

Hinweise

Beim Versuch, eine Sperre abzurufen, kann der Persistenzanbieter entscheiden, dass die aktuelle Instanz bereits im aktuellen Speicher gesperrt ist. Wenn das Sperrtoken mit dem Sperrtoken des aktuellen Handles übereinstimmt, kann der Persistenzanbieter versuchen, die Sperre zurückzufordern, indem die Version überprüft und an BindReclaimedLock übergeben wird. Der Persistenzanbieter darf keine Änderungen an der Instanz vornehmen, bis die Sperre erfolgreich zurückgefordert wurde. Wenn kein anderer Handle an die Sperre gebunden ist, wird BindReclaimedLock erfolgreich ausgeführt, und der aktuelle Handle wird an die Sperre gebunden. Andernfalls löst BindReclaimedLock InstanceHandleConflictException aus. Wenn Befehle auf anderen Handles ausgeführt werden, kann BindReclaimedLock das Warten auf das Ergebnis dieser Befehle blockieren, bevor Sie entscheiden, ob die Sperre erneut beansprucht werden kann.

Das aktuelle Instanzhandle muss an eine Instanz und einen Sperrbesitzer gebunden sein. Die Instanz darf nicht abgeschlossen werden. Das dem Sperrbesitzer zugeordnete Sperrtoken wird verwendet, um den Besitzer der Sperre zu identifizieren.

Sobald eine Sperre an einen Handle gebunden ist, bleibt sie für die Lebensdauer des Handles gebunden. Weder das Sperrtoken noch die Instanzversion können geändert werden.

Gilt für: