VariableDispenser.Reset Método
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Limpa tanto a lista somente leitura quanto a lista de leitura/escrita quando a chamada falha GetVariables(Variables) .
public:
void Reset();
public void Reset();
member this.Reset : unit -> unit
Public Sub Reset ()
Exemplos
O exemplo de código a seguir bloqueia uma coleção de variáveis e então determina se a coleção de variáveis está bloqueada antes de desbloqueá-las. Se a trava falhou, então Reset é chamado.
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
Comentários
Esse método pode ser usado para limpar a lista somente leitura e a lista de bloqueio de leitura/escrita após a falha de uma chamada GetVariables . Se uma chamada de GetVariables falha for feita, as listas de bloqueio não são limpas e, portanto, se você chamar GetVariables novamente, será feita uma tentativa de bloquear as mesmas variáveis. Se quiser tentar travar as mesmas variáveis novamente, ligue GetVariables novamente sem chamar Reset antes. Ou, você pode optar por liberar as listas usando esse método e abandonando a operação até que todas as variáveis necessárias estejam disponíveis e possam ser travadas de uma só vez.
Além disso, o Reset método é usado se você receber uma falha de GetVariables e quiser travar um conjunto completamente diferente e não relacionado de variáveis em seguida. Você ligaria Reset para limpar as listas de bloqueios, e depois repreenchia as listas usando os LockForReadmétodos , LockForWrite, LockOneForRead, e LockOneForWrite .