Condividi tramite


InstancePersistenceContext.BindReclaimedLock(Int64, TimeSpan) Metodo

Definizione

Associa un blocco esistente su un'istanza all'handle dell'istanza corrente. La versione del blocco esistente viene passata come parametro.

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)

Parametri

instanceVersion
Int64

La versione del blocco mantenuto sull'istanza oppure zero se il provider di persistenza non implementa le versioni di blocco.

timeout
TimeSpan

Valore di timeout per l'operazione.

Commenti

Quando si tenta di acquisire un blocco, il provider di persistenza potrebbe decidere che l'istanza corrente è già bloccata nell'archivio corrente. Se il token di blocco corrisponde al token di blocco dell'handle corrente, il provider di persistenza può tentare di recuperare il blocco controllandone la versione e passandola a BindReclaimedLock. Il provider di persistenza non deve apportare modifiche all'istanza finché il blocco non viene recuperato correttamente. Se non sono associati altri handle al blocco, BindReclaimedLock ha esito positivo e l'handle corrente viene associato al blocco. In caso contrario, BindReclaimedLock genera InstanceHandleConflictException. Se i comandi sono in corso su altri handle, BindReclaimedLock può bloccare l'attesa per il risultato di tali comandi prima di decidere se è possibile recuperare il blocco.

È necessario associare l'handle dell'istanza corrente a un'istanza e a un proprietario di blocco. L'istanza non deve essere completata. Il token di blocco associato al proprietario di blocco viene utilizzato per identificare il proprietario del blocco.

Una volta associato un blocco a un handle, esso rimane associato per la durata dell'handle. Né il token di blocco né la versione dell'istanza possono essere modificati.

Si applica a