VariableDispenser.Reset Methode
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
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.