InstancePersistenceContext.BeginBindReclaimedLock Método
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
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
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.