Compartilhar via


InstancePersistenceContext.BeginBindReclaimedLock Método

Definição

Inicie uma operação assíncrona para associar um bloqueio existente em uma instância para o identificador da instância atual. A versão do bloqueio existente é passada como um parâmetro.

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

Parâmetros

instanceVersion
Int64

A versão do bloqueio mantido na instância ou zero se o provedor de persistência não implementar versões de bloqueio.

timeout
TimeSpan

O período de tempo limite para a operação assíncrona.

callback
AsyncCallback

O método a ser chamado quando a operação for concluída.

state
Object

As informações de estado associadas com a operação assíncrona.

Retornos

IAsyncResult

O status de uma operação assíncrona.

Comentários

Ao tentar adquirir um bloqueio, o provedor de persistência pode decidir que a instância atual já está bloqueada no repositório atual. Se o token de bloqueio corresponder ao token de bloqueio do identificador atual, o provedor de persistência poderá tentar recuperar o bloqueio inspecionando sua versão e passando-a para BeginBindReclaimedLock. O provedor de persistência não deve fazer alterações na instância até que o bloqueio seja recuperado com êxito. Se nenhum outro identificador estiver associado ao bloqueio, a operação BeginBindReclaimedLock terá sucesso e o identificador atual se tornará associado ao bloqueio. Caso contrário, BeginBindReclaimedLock ou EndBindReclaimedLock lançará InstanceHandleConflictException. Se os comandos estiverem em andamento em outros identificadores, a operação poderá não ser concluída enquanto aguarda o resultado desses comandos decidir se o bloqueio pode ser recuperado.

O identificador de instância atual deve estar associado a uma instância e a um proprietário de bloqueio. A instância não deve ser concluída. O token de bloqueio associado ao proprietário do bloqueio é usado para identificar o proprietário do bloqueio.

Quando um bloqueio está associado a um identificador, ele permanece associado ao tempo de vida do identificador. Nem o token de bloqueio nem a versão da instância podem ser alterados.

Aplica-se a