VariableDispenser.Reset Metodo

Definizione

Cancella sia l'elenco in sola lettura che l'elenco in lettura/scrittura quando non è possibile chiamare GetVariables(Variables).

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

Esempio

L'esempio di codice seguente blocca una raccolta di variabili, quindi determina se la raccolta di variabili è bloccata prima di sbloccarli. Se il blocco non è riuscito, Reset viene chiamato il metodo.

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  

Commenti

Questo metodo può essere utilizzato per cancellare l'elenco di sola lettura e l'elenco di blocchi di lettura/scrittura dopo che una chiamata a GetVariables ha avuto esito negativo. Se una chiamata a GetVariables ha esito negativo, gli elenchi di blocchi non vengono cancellati e pertanto, se si chiama GetVariables nuovamente, viene effettuato un tentativo di bloccare le stesse variabili. Se si desidera ritentare il blocco delle stesse variabili, chiamare di GetVariables nuovo senza chiamare Reset prima. In alternativa, è possibile scegliere di rilasciare gli elenchi utilizzando questo metodo e abbandonando l'operazione fino a quando non saranno disponibili tutte le variabili necessarie e sarà possibile bloccarle contemporaneamente.

Inoltre, il Reset metodo viene usato se si riceve un errore da GetVariables e si vuole bloccare un set di variabili completamente diverso e non correlato successivo. Si chiamerà Reset per cancellare gli elenchi di blocchi, quindi riempire gli elenchi di blocchi usando i LockForRead metodi,, LockForWrite LockOneForRead e LockOneForWrite .

Si applica a