Compartir a través de


Variables.Locked Propiedad

Definición

Valor booleano que indica si las variables de la Variables colección están bloqueadas.

public:
 property bool Locked { bool get(); };
public bool Locked { get; }
member this.Locked : bool
Public ReadOnly Property Locked As Boolean

Valor de propiedad

true indica que la colección está bloqueada. Un valor de false indica que la colección está desbloqueada.

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 determina si la colección está bloqueada y, si la colección está bloqueada, 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

La Variables colección contiene una Locked propiedad que indica si una colección de dispensadores de variables está bloqueada (true) o desbloqueada (false). El motivo para revisar esta propiedad es que algunas tareas liberan explícitamente bloqueos en las variables que están usando y la llamada Unlock a dos veces produce un error. Por lo tanto, debe usar Locked la propiedad para determinar si la colección dispensada está bloqueada antes de llamar a Unlock.

Se aplica a