VariableDispenser.Reset 方法
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
當呼叫 GetVariables(Variables) 失敗時,會清除唯讀清單和讀寫清單。
public:
void Reset();
public void Reset();
member this.Reset : unit -> unit
Public Sub Reset ()
範例
以下程式碼範例鎖定一組變數,並在解鎖變數前判斷該集合是否被鎖定。 如果鎖失效,則 Reset 會被呼叫。
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.GetVariables(ref vars);
// Determine whether the variable collection is locked.
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.GetVariables( vars)
' Determine whether the variable collection is locked.
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
備註
此方法可用於在呼叫 GetVariables 失敗後清除唯讀清單及讀寫鎖清單。 若 GetVariables 呼叫失敗,鎖清單未被清除,因此若再次呼叫 GetVariables ,仍會嘗試鎖定相同的變數。 如果你想重新嘗試鎖定相同的變數,請 GetVariables 先不要先呼叫 Reset 一次。 或者,你可以選擇使用此方法釋放清單,並放棄操作,直到所有必要變數都可用且能一次鎖定。
此外, Reset 當你收到 GetVariables 失敗通知,想鎖定完全不同且無關的變數集合時,也會使用此方法。 你會呼叫Reset清除鎖清單,然後用 LockForRead、 LockForWrite、 LockOneForReadLockOneForWrite 和 方法重新填充鎖清單。