Condividi tramite


Variables.Locked Proprietà

Definizione

Valore booleano che indica se le variabili nella Variables raccolta sono bloccate.

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

Valore della proprietà

true indica che la raccolta è bloccata. Il valore false indica che la raccolta è sbloccata.

Esempio

Nell'esempio di codice seguente viene bloccata la raccolta di variabili quando GetVariables viene chiamato . L'esempio determina quindi se la raccolta è bloccata e, se la raccolta è bloccata, chiama 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  

Commenti

L'insieme Variables contiene una Locked proprietà che indica se una raccolta di variabili del distributore di variabili è bloccata (true) o sbloccata (false). Il motivo per esaminare questa proprietà è che alcune attività rilasciano in modo esplicito i blocchi alle variabili in uso e la chiamata Unlock due volte genera un errore. Pertanto, è consigliabile utilizzare la Locked proprietà per determinare se la raccolta erogata è bloccata prima di chiamare Unlock.

Si applica a