Share via


InstancePersistenceContext.BindReclaimedLock(Int64, TimeSpan) Méthode

Définition

Lie un verrou existant sur une instance au handle d'instance actuel. La version du verrou existant est passée comme un paramètre.

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ètres

instanceVersion
Int64

Version du verrou maintenu sur l'instance, ou zéro si le fournisseur de persistance n'implémente pas de versions de verrou.

timeout
TimeSpan

Valeur de délai d'attente pour l'opération.

Remarques

Lors de la tentative d'acquisition d'un verrou, le fournisseur de persistance peut décider que l'instance actuelle est déjà verrouillée dans le magasin actuel. Si le jeton de verrou correspond au jeton de verrouillage du handle actuel, le fournisseur de persistance peut tenter de récupérer le verrou en inspectant sa version et en le transmettant à BindReclaimedLock. Le fournisseur de persistance ne doit pas apporter de modifications à l'instance tant que le verrou n'a pas été récupéré avec succès. Si aucun autre handle n'est lié au verrou, BindReclaimedLock réussit et le handle actuel est lié au verrou. Sinon, BindReclaimedLock lève l'exception InstanceHandleConflictException. Si des commandes sont en cours sur d'autres handles, BindReclaimedLock peut se bloquer et attendre le résultat de ces commandes avant de décider si le verrou peut être récupéré.

Le handle d'instance actuel doit être lié à un propriétaire d'instance et à un propriétaire de verrou. L'instance ne doit pas être terminée. Le lock-token associé au propriétaire de verrou est utilisé pour identifier le propriétaire du verrou.

Lorsqu'un verrou est lié à un handle, il le reste pour la durée de vie du handle. Ni le lock-token ni la version d'instance ne peuvent être modifiés.

S’applique à