InstancePersistenceContext.BeginBindReclaimedLock Metodo
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Iniziare un'operazione asincrona per associare un blocco esistente su un'istanza all'handle dell'istanza corrente. La versione del blocco esistente viene passata come parametro.
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
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
Il periodo di timeout per l'operazione asincrona.
- callback
- AsyncCallback
Metodo da chiamare al termine dell'operazione.
- state
- Object
Informazioni sullo stato associate all'operazione asincrona.
Restituisce
Stato di un'operazione asincrona.
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 controllando la versione e passandolo a BeginBindReclaimedLock. 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, l'operazione BeginBindReclaimedLock ha esito positivo e l'handle corrente viene associato al blocco. In caso contrario, BeginBindReclaimedLock o EndBindReclaimedLock genera InstanceHandleConflictException. Se i comandi sono in corso su altri handle, l'operazione potrebbe non essere completata durante l'attesa per il risultato di tali comandi per 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.