Langage

VariableDispenser.Reset Méthode

Définition

Efface à la fois la liste en lecture seule et la liste lecture/écriture lorsque l’appel échoue GetVariables(Variables) .

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 lâché, alors Reset il 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 verrouillage lecture/écriture après l’échec d’un appel à GetVariables A. Si un appel à GetVariables échoue, les listes de verrous ne sont pas effacées et donc, si vous appelez GetVariables à nouveau, une tentative sera faite pour verrouiller les mêmes variables. Si vous voulez réessayer de verrouiller les mêmes variables, rappelez GetVariables sans appeler Reset d’abord. Ou bien, vous pouvez choisir de libérer les listes en utilisant cette méthode et en abandonnant l’opération jusqu’à ce que toutes les variables requises soient disponibles et puissent être verrouillées en même temps.

De plus, la Reset méthode est utilisée si vous recevez une défaillance de GetVariables et que vous souhaitez verrouiller un ensemble de variables complètement différent et sans lien ensuite. Vous appelez Reset pour effacer les listes de serrures, puis rerempliriez les listes de serrures en utilisant les LockForReadméthodes , LockForWrite, LockOneForRead, et LockOneForWrite .

S’applique à