Sprache

VariableDispenser.Reset Methode

Definition

Löscht sowohl die Read-only-Liste als auch die Read/Write-Liste, wenn der Aufruf fehlschlägt GetVariables(Variables) .

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

Beispiele

Das folgende Codebeispiel sperrt eine Sammlung von Variablen und bestimmt dann, ob die Variablensammlung gesperrt ist, bevor sie entsperrt wird. Wenn das Schloss versagt hat, wird aufgerufen 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  

Hinweise

Diese Methode kann verwendet werden, um die Schreib-nur-Liste und die Lese-/Schreib-Sperrliste zu löschen, nachdem ein Aufruf von GetVariables fehlgeschlagen ist. Wenn ein Aufruf fehlschlägt GetVariables , werden die Sperrlisten nicht gelöscht, und wenn Sie erneut aufrufen GetVariables , wird versucht, dieselben Variablen zu sperren. Wenn du erneut versuchen willst, dieselben Variablen zu sperren, rufe erneut auf, GetVariables ohne vorher aufzurufen Reset . Oder Sie können die Listen mit dieser Methode freigeben und die Operation abbrechen, bis alle erforderlichen Variablen verfügbar sind und gleichzeitig gesperrt werden können.

Zusätzlich wird die Methode Reset verwendet, wenn Sie einen Fehler erhalten und GetVariables als nächstes eine völlig andere und nicht zusammenhängende Variablenmenge sperren möchten. Man ruft auf, Reset um die Sperrlisten zu löschen, und füllt sie dann mit den LockForReadMethoden , LockForWrite, LockOneForRead, LockOneForWrite und wieder auf.

Gilt für: