다음을 통해 공유


VariableDispenser.Reset 메서드

정의

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 하면 동일한 변수를 잠그려고 시도합니다. 동일한 변수 잠금을 다시 시도하려면 먼저 호출하지 않고 다시 호출 GetVariablesReset 합니다. 또는 이 메서드를 사용하여 모든 필수 변수를 사용할 수 있고 한 번에 잠글 수 있을 때까지 작업을 중단하여 목록을 해제하도록 선택할 수 있습니다.

Reset 또한 오류가 발생한 GetVariables 후 다음에 완전히 다른 관련 없는 변수 집합을 잠그려는 경우 이 메서드가 사용됩니다. 호출 Reset 하여 잠금 목록을 지우고 , LockForWriteLockOneForReadLockOneForWrite 메서드를 사용하여 LockForRead잠금 목록을 다시 채웁니다.

적용 대상