Aracılığıyla paylaş


InstancePersistenceContext.BindReclaimedLock(Int64, TimeSpan) Yöntem

Tanım

Bir örnekteki mevcut kilidi geçerli örnek tanıtıcısına bağlar. Mevcut kilidin sürümü parametre olarak geçirilir.

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)

Parametreler

instanceVersion
Int64

Örnekte tutulan kilidin sürümü veya kalıcılık sağlayıcısı kilit sürümlerini uygulamazsa sıfır.

timeout
TimeSpan

İşlemin zaman aşımı değeri.

Açıklamalar

Bir kilit almaya çalışırken, kalıcılık sağlayıcısı geçerli örneğin geçerli depoda zaten kilitli olduğuna karar verebilir. Kilit belirteci geçerli tanıtıcının kilit belirteciyle eşleşiyorsa, kalıcılık sağlayıcısı sürümünü inceleyip BindReclaimedLock'a geçirerek kilidi geri kazanmayı dener. Kilit başarıyla geri kazanılmadan kalıcılık sağlayıcısı örnekte değişiklik yapmamalıdır. Başka bir tanıtıcı kilide bağlı değilse BindReclaimedLock başarılı olur ve geçerli tanıtıcı kilide bağlanır. Aksi takdirde, BindReclaimedLock InstanceHandleConflictException oluşturur. Diğer tanıtıcılarda devam eden komutlar varsa BindReclaimedLock, kilidin geri kazanılıp kazanılamayacağına karar vermeden önce bu komutların sonucunu beklemeyi engelleyebilir.

Geçerli örnek tanıtıcısı bir örneğe ve kilit sahibine bağlı olmalıdır. Örnek tamamlanmamalıdır. Kilit sahibiyle ilişkili kilit belirteci, kilidin sahibini tanımlamak için kullanılır.

Bir kilit bir tanıtıcıya bağlandıktan sonra tutamacın ömrü boyunca bağlı kalır. Kilit belirteci veya örnek sürümü değiştirilemez.

Şunlara uygulanır