InstancePersistenceContext.BeginBindReclaimedLock Méthode
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Commence une opération asynchrone pour lier un verrou existant sur une instance au handle d'instance actuel. La version du verrou existant est passée comme un paramètre.
public:
IAsyncResult ^ BeginBindReclaimedLock(long instanceVersion, TimeSpan timeout, AsyncCallback ^ callback, System::Object ^ state);
public IAsyncResult BeginBindReclaimedLock (long instanceVersion, TimeSpan timeout, AsyncCallback callback, object state);
member this.BeginBindReclaimedLock : int64 * TimeSpan * AsyncCallback * obj -> IAsyncResult
Public Function BeginBindReclaimedLock (instanceVersion As Long, timeout As TimeSpan, callback As AsyncCallback, state As Object) As IAsyncResult
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
Délai d'attente de l'opération asynchrone.
- callback
- AsyncCallback
Méthode à appeler lorsque l'opération est terminée.
- state
- Object
Informations d'état associées à l'opération asynchrone.
Retours
État d'une opération asynchrone.
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 à BeginBindReclaimedLock. 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, l'opération BeginBindReclaimedLock réussit et le handle actuel est lié au verrou. Sinon, BeginBindReclaimedLock ou EndBindReclaimedLock lève l'exception InstanceHandleConflictException. Si des commandes sont en cours sur d'autres handles, il est possible que l'opération ne s'achève pas tant que le résultat de ces commandes n'est pas obtenu pour 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.