Compartilhar via


VariableDispenser.Reset Método

Definição

Desmarca a lista somente leitura e a lista leitura/gravação quando a chamada para GetVariables(Variables) apresenta falha.

public:
 void Reset();
public void Reset ();
member this.Reset : unit -> unit
Public Sub Reset ()

Exemplos

O exemplo de código a seguir bloqueia uma coleção de variáveis e determina se a coleção de variáveis está bloqueada antes de desbloqueá-las. Se o bloqueio falhar, será Reset chamado.

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  

Comentários

Esse método pode ser usado para limpar a lista somente leitura e a lista de bloqueio de leitura/gravação após uma chamada ter GetVariables falhado. Se uma chamada falhar GetVariables , as listas de bloqueio não serão limpas e, portanto, se você chamar GetVariables novamente, será feita uma tentativa de bloquear as mesmas variáveis. Se você quiser tentar novamente bloquear as mesmas variáveis, chame GetVariables novamente sem chamar Reset primeiro. Ou você pode optar por liberar as listas usando esse método e abandonar a operação até que todas as variáveis necessárias estejam disponíveis e possam ser bloqueadas de uma só vez.

Além disso, o Reset método é usado se você receber uma falha GetVariables e quiser bloquear um conjunto de variáveis completamente diferente e não relacionado a seguir. Você ligaria Reset para limpar as listas de bloqueio e, em seguida, recarregar as listas de bloqueio usando os métodos e, em seguida, LockForWriteLockOneForReadLockOneForWrite os LockForReadmétodos.

Aplica-se a