Variables.Unlock Metode

Definisi

Melepaskan kunci pada koleksi variabel dan menandai status koleksi variabel sebagai tidak valid atau tidak diketahui.

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

Contoh

Contoh kode berikut mengunci koleksi variabel saat GetVariables dipanggil. Contohnya kemudian memeriksa apakah koleksi dikunci dan, jika demikian, memanggil 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  

Keterangan

Metode ini digunakan untuk membuka kunci variabel yang dikunci dengan menggunakan VariableDispenser kelas . Ketika VariableDispenser mengeluarkan koleksi variabel, ia melacak koleksi dalam daftar. Ketika tugas yang memanggil dispenser variabel selesai dijalankan, semua koleksi yang dispensasi secara otomatis tidak terkunci. Oleh karena itu, jika pembukaan kunci otomatis cocok untuk tujuan Anda, dan jika pembukaan kunci otomatis terjadi ketika tugas selesai, Anda tidak perlu memanggil Unlock metode . Namun, terkadang diinginkan untuk membuka kunci variabel sesegera mungkin karena alasan performa. Panggilan eksplisit ke metode ini Unlock membuka kunci variabel.

Properti Locked mengembalikan nilai false untuk menunjukkan bahwa koleksi yang dilepas telah dibuka kuncinya. Nilai true menunjukkan bahwa koleksi variabel masih terkunci. Unlock Panggilan dua kali menyebabkan kesalahan; oleh karena itu, dalam situasi tertentu Anda mungkin harus memeriksa nilai properti ini sebelum memutuskan apakah akan memanggil Unlock.

Berlaku untuk