Freigeben über


Variables.Unlock Methode

Definition

Hebt die Sperren der Variablenauflistung auf und kennzeichnet den Status der Variablenauflistung als ungültig oder unbekannt.

public:
 void Unlock();
public void Unlock ();
member this.Unlock : unit -> unit
Public Sub Unlock ()

Beispiele

Im folgenden Codebeispiel wird die Variablenauflistung gesperrt, wenn GetVariables sie aufgerufen wird. Im Beispiel wird überprüft, ob die Auflistung gesperrt ist und wenn ja, aufruft 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  

Hinweise

Diese Methode wird verwendet, um Variablen zu entsperren, die mithilfe der VariableDispenser Klasse gesperrt wurden. Wenn VariableDispenser eine Variablensammlung ausgegeben wird, wird die Auflistung in einer Liste nachverfolgt. Wenn die Aufgabe, die als variable Ausgabe bezeichnet wird, die Ausführung beendet, werden alle ausgegebenen Sammlungen automatisch entsperrt. Wenn die automatische Entsperrung für Ihre Zwecke geeignet ist und wenn die automatische Entsperrung beim Abschluss der Aufgabe aufgetreten ist, müssen Sie die Unlock Methode nicht aufrufen. Es ist jedoch manchmal wünschenswert, Variablen so schnell wie möglich aus Leistungsgründen zu entsperren. Ein expliziter Aufruf dieser Unlock Methode entsperrt die Variablen.

Die Locked Eigenschaft gibt einen Wert zurück, der false angibt, dass eine ausgegebene Auflistung bereits entsperrt wurde. Ein Wert von true gibt an, dass die Variablenauflistung weiterhin gesperrt ist. Beim Aufrufen Unlock zweimal wird ein Fehler verursacht. Daher müssen Sie in bestimmten Situationen den Wert dieser Eigenschaft überprüfen, bevor Sie entscheiden, ob sie aufrufen Unlocksollen.

Gilt für: