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.
Commencez 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 en tant que 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 conservé sur l’instance, ou zéro si le fournisseur de persistance n’implémente pas les versions de verrou.
- timeout
- TimeSpan
Délai d’expiration 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
Lorsque vous tentez d’acquérir 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 verrou 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’est pas récupéré. Si aucun autre handle n’est lié au verrou, l’opération BeginBindReclaimedLock réussit et le handle actuel devient lié au verrou. Sinon, BeginBindReclaimedLock ou EndBindReclaimedLock lève InstanceHandleConflictException. Si les commandes sont en cours sur d’autres handles, l’opération peut ne pas se terminer en attendant que le résultat de ces commandes détermine si le verrou peut être récupéré.
Le handle d’instance actuel doit être lié à une instance et à un propriétaire de verrou. L’instance ne doit pas être terminée. Le jeton de verrou associé au propriétaire du verrou est utilisé pour identifier le propriétaire du verrou.
Une fois qu’un verrou est lié à un handle, il reste lié pour la durée de vie du handle. Ni le jeton de verrouillage ni la version de l’instance ne peuvent être modifiés.