Variables.Unlock 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í.
Libera los bloqueos sobre la colección de variables y marca el estado de la colección de variables como no válido o desconocido.
public:
void Unlock();
public void Unlock ();
member this.Unlock : unit -> unit
Public Sub Unlock ()
Ejemplos
En el ejemplo de código siguiente se bloquea la colección de variables cuando GetVariables se llama a . A continuación, el ejemplo comprueba si la colección está bloqueada y, si es así, llama a Unlock.
using System;
using System.Collections.Generic;
using System.Text;
using Microsoft.SqlServer.Dts.Runtime;
namespace Microsoft.SqlServer.SSIS.Sample
{
class Program
{
static void Main(string[] args)
{
Package pkg = new Package();
Variables vars = null;
VariableDispenser variableDispenser = pkg.VariableDispenser;
variableDispenser.LockForRead("System::PackageName");
variableDispenser.LockForRead("System::OfflineMode");
variableDispenser.LockForWrite("System::InteractiveMode");
variableDispenser.GetVariables(ref vars);
// Determine whether the variable collection is locked before unlocking.
Boolean isLocked = vars.Locked;
// Verify the value of vars.Locked. If the lock failed,
// call Reset.
if (isLocked)
{
vars.Unlock();
}
else
{
variableDispenser.Reset();
}
}
}
}
Imports System
Imports System.Collections.Generic
Imports System.Text
Imports Microsoft.SqlServer.Dts.Runtime
Namespace Microsoft.SqlServer.SSIS.Sample
Class Program
Shared Sub Main(ByVal args() As String)
Dim pkg As Package = New Package()
Dim vars As Variables = Nothing
Dim variableDispenser As VariableDispenser = pkg.VariableDispenser
variableDispenser.LockForRead("System::PackageName")
variableDispenser.LockForRead("System::OfflineMode")
variableDispenser.LockForWrite("System::InteractiveMode")
variableDispenser.GetVariables( vars)
' Determine whether the variable collection is locked before unlocking.
Dim isLocked As Boolean = vars.Locked
' Verify the value of vars.Locked. If the lock failed,
' call Reset.
If isLocked = True Then
vars.Unlock()
Else
variableDispenser.Reset()
End If
End Sub
End Class
End Namespace
Comentarios
Este método se usa para desbloquear variables bloqueadas mediante la VariableDispenser clase . Cuando VariableDispenser dispensa una colección de variables, realiza un seguimiento de la colección en una lista. Cuando la tarea que llamó al dispensador de variables termina de ejecutarse, todas las colecciones dispensadas se desbloquean automáticamente. Por lo tanto, si el desbloqueo automático es adecuado para sus propósitos, y si se produjo el desbloqueo automático cuando se completó la tarea, no es necesario llamar al Unlock método . Sin embargo, a veces es conveniente desbloquear variables tan pronto como sea posible por motivos de rendimiento. Una llamada explícita a este Unlock método desbloquea las variables.
La Locked propiedad devuelve un valor de false
para indicar que ya se ha desbloqueado una colección dispensada. Un valor de indica que la colección de true
variables sigue bloqueada. Llamar Unlock dos veces produce un error; por lo tanto, en determinadas situaciones es posible que tenga que comprobar el valor de esta propiedad antes de decidir si se debe llamar Unlocka .