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清除锁列表,然后使用和LockOneForReadLockForReadLockForWriteLockOneForWrite方法重新填充锁列表。