Variables.Unlock 方法
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
释放变量集合的锁并将变量集合的状态标记为无效或未知。
public:
void Unlock();
public void Unlock ();
member this.Unlock : unit -> unit
Public Sub Unlock ()
示例
以下代码示例在调用变量集合时 GetVariables 锁定变量集合。 然后,该示例检查集合是否已锁定,如果是,则调用 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
注解
此方法用于解锁使用 VariableDispenser 类锁定的变量。 分配变量集合时 VariableDispenser ,它会跟踪列表中的集合。 当调用变量分配器的任务完成执行时,将自动解锁所有分配集合。 因此,如果自动解锁适合你的目的,并且如果任务完成时发生自动解锁,则无需调用 Unlock 该方法。 但是,出于性能原因,有时需要尽快解锁变量。 对此方法 Unlock 的显式调用将解锁变量。
该 Locked 属性返回一个值 false
,该值指示已解除分配的集合已解锁。 一 true
个值,指示变量集合仍被锁定。 调用 Unlock 两次会导致错误;因此,在某些情况下,可能需要在决定是否调用 Unlock之前检查此属性的值。