Share via


VariableDispenser.Reset Méthode

Définition

Efface les listes en lecture seule et en lecture/écriture lorsque l'appel à la méthode GetVariables(Variables) échoue.

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

Exemples

L’exemple de code suivant verrouille une collection de variables, puis détermine si la collection de variables est verrouillée avant de les déverrouiller. Si le verrou a échoué, il Reset est appelé.

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  

Remarques

Cette méthode peut être utilisée pour effacer la liste en lecture seule et la liste de verrous en lecture/écriture après l’échec d’un appel GetVariables . Si un appel échoue GetVariables , les listes de verrous ne sont pas effacées et, par conséquent, si vous appelez GetVariables à nouveau, une tentative est effectuée pour verrouiller les mêmes variables. Si vous souhaitez réessayer de verrouiller les mêmes variables, appelez GetVariables à nouveau sans appeler Reset d’abord. Vous pouvez également choisir de libérer les listes à l’aide de cette méthode et d’abandonner l’opération jusqu’à ce que toutes les variables requises soient disponibles et soient verrouillées à la fois.

En outre, la Reset méthode est utilisée si vous recevez un échec GetVariables et que vous souhaitez verrouiller un ensemble de variables complètement différent et non lié suivant. Vous devez appeler Reset pour effacer les listes de verrous, puis recharger les listes de verrous à l’aide des LockForReadméthodes, et LockOneForReadLockOneForWrite des méthodesLockForWrite.

S’applique à