Variables.Unlock Metode
Definisi
Penting
Beberapa informasi terkait produk prarilis yang dapat diubah secara signifikan sebelum dirilis. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
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.