Sprache

Variables.Unlock Methode

Definition

Hebt die Sperren der Variablensammlung auf und markiert den Zustand der Variablensammlung als ungültig oder unbekannt.

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

Beispiele

Das folgende Codebeispiel sperrt die Variablensammlung, wenn GetVariables aufgerufen wird. Das Beispiel prüft dann, ob die Sammlung gesperrt ist, und ruft, falls ja, .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 freizuschalten, die durch die Verwendung der Klasse VariableDispenser gesperrt wurden. Beim VariableDispenser Ausgeben einer Variablensammlung verfolgt sie die Sammlung in einer Liste. Wenn die Aufgabe, die den variablen Dispenser aufgerufen hat, ausgeführt ist, werden alle ausgegebenen Sammlungen automatisch entsperrt. Daher müssen Sie die Unlock Methode nicht aufrufen, wenn automatische Entsperrung für Ihre Zwecke geeignet ist und die automatische Entsperrung nach Abschluss der Aufgabe erfolgte. Es ist jedoch manchmal wünschenswert, Variablen aus Performancegründen so früh wie möglich freizuschalten. Ein expliziter Aufruf dieser Unlock Methode schaltet die Variablen frei.

Die Immobilie Locked gibt einen Wert von an false , um anzuzeigen, dass eine abgegebene Sammlung bereits freigeschaltet wurde. Ein Wert von true zeigt an, dass die Variablensammlung weiterhin gesperrt ist. Ein zweimaliger Aufruf Unlock verursacht einen Fehler; daher müssen Sie in bestimmten Situationen möglicherweise den Wert dieser Eigenschaft überprüfen, bevor Sie entscheiden, ob Sie aufrufen Unlockmöchten.

Gilt für: