Condividi tramite


InstancePersistenceContext.BeginBindReclaimedLock Metodo

Definizione

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

IAsyncResult

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.

Si applica a