Variables.Unlock Método

Definición

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, en el ejemplo se comprueba si la colección está bloqueada y, en caso afirmativo, 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 dispensas una colección de variables, realiza un seguimiento de la colección en una lista. Cuando finaliza la ejecución de la tarea que llamó al dispensador de variables, todas las recopilaciones dispensadas se desbloquean automáticamente. Por lo tanto, si el desbloqueo automático es adecuado para sus fines y si se produce un desbloqueo automático cuando se completa la tarea, no es necesario llamar al Unlock método. Sin embargo, a veces es conveniente desbloquear las variables lo antes 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 una colección dispensada ya se ha desbloqueado. Un valor de true indica que la colección de variables todavía está bloqueada. La llamada a 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 llamar a Unlock .

Se aplica a