InstancePersistenceContext.BindReclaimedLock(Int64, TimeSpan) Método
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Enlaza un bloqueo existente en una instancia al identificador de instancia actual. La versión del bloqueo existente se pasa como parámetro.
public:
void BindReclaimedLock(long instanceVersion, TimeSpan timeout);
public void BindReclaimedLock (long instanceVersion, TimeSpan timeout);
member this.BindReclaimedLock : int64 * TimeSpan -> unit
Public Sub BindReclaimedLock (instanceVersion As Long, timeout As TimeSpan)
Parámetros
- instanceVersion
- Int64
La versión del bloqueo mantenido en la instancia o cero si el proveedor de persistencia no implementa las versiones de bloqueo.
- timeout
- TimeSpan
Valor de tiempo de espera para la operación.
Comentarios
Al intentar adquirir un bloqueo, el proveedor de persistencia puede decidir que la instancia actual ya está bloqueada en el almacén actual. Si el token de bloqueo coincide con el token de bloqueo del identificador actual, el proveedor de persistencia puede intentar reclamar el bloqueo inspeccionando su versión y pasandolo a BindReclaimedLock. El proveedor de persistencia no debe realizar cambios en la instancia hasta que el bloqueo se reclame correctamente. Si no hay ningún otro identificador enlazado al bloqueo, BindReclaimedLock se ejecuta correctamente y el identificador actual se enlaza al bloqueo. De lo contrario, BindReclaimedLock produce la excepción InstanceHandleConflictException. Si hay comandos en curso en otros identificadores, BindReclaimedLock puede bloquear la espera del resultado de esos comandos antes de decidir si se puede reclamar el bloqueo.
El identificador de instancia actual se debe enlazar al propietario de un bloqueo y una instancia. No se debe completar la instancia. El token de bloqueo asociado al propietario del bloqueo se utiliza para identificar a este.
Una vez enlazado un bloqueo a un identificador, sigue estando enlazado durante la vigencia de este. No se pueden cambiar ni el token de bloqueo ni la versión de la instancia.