Linguaggio

Variables.Unlock Metodo

Definizione

Rilascia i blocchi sulla collezione delle variabili e segnala lo stato della collezione come invalido o sconosciuto.

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

Esempio

Il seguente esempio di codice blocca la collezione variabile quando GetVariables viene chiamata. L'esempio verifica quindi se la collezione è bloccata e, in tal caso, 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

Questo metodo viene usato per sbloccare variabili bloccate usando la VariableDispenser classe. Quando VariableDispenser distribuisce una collezione di variabili, tiene traccia della collezione in un elenco. Quando il compito che chiama il dispenser variabile termina di eseguirsi, tutte le collezioni dispensate vengono automaticamente sbloccate. Pertanto, se lo sblocco automatico è adatto ai tuoi scopi, e se lo sblocco automatico è avvenuto al completamento del compito, non è necessario chiamare il Unlock metodo. Tuttavia, a volte è auspicabile sbloccare le variabili il prima possibile per motivi di prestazioni. Una chiamata esplicita a questo Unlock metodo sblocca le variabili.

La Locked proprietà restituisce un valore di false per indicare che una collezione dispensata è già stata sbloccata. Un valore di true indica che la collezione delle variabili è ancora bloccata. Chiamare Unlock due volte causa un errore; quindi, in certe situazioni potresti dover controllare il valore di questa proprietà prima di decidere se chiamare Unlock.

Si applica a