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.
Avviare un'operazione asincrona per associare un blocco esistente in 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
Versione del blocco mantenuto nell'istanza oppure zero se il provider di persistenza non implementa le versioni di blocco.
- timeout
- TimeSpan
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.
Valori restituiti
Stato di un'operazione asincrona.
Commenti
Quando si tenta di acquisire un blocco, il provider di persistenza può 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 passandolo a BeginBindReclaimedLock. Il provider di persistenza non deve apportare modifiche all'istanza finché il blocco non viene recuperato correttamente. Se nessun altro handle è associato 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 del risultato di tali comandi per decidere se il blocco può essere recuperato.
L'handle dell'istanza corrente deve essere associato a un'istanza e a un proprietario di blocco. L'istanza non deve essere completata. Il token di blocco associato al proprietario del blocco viene usato per identificare il proprietario del blocco.
Una volta associato un blocco a un handle, rimane associato per la durata dell'handle. Non è possibile modificare né il token di blocco né la versione dell'istanza.