Variables.Unlock Méthode
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Libère les verrous sur la collection de variables et signale l’état de la collection comme invalide ou inconnu.
public:
void Unlock();
public void Unlock();
member this.Unlock : unit -> unit
Public Sub Unlock ()
Exemples
L’exemple de code suivant verrouille la collection de variables lorsque GetVariables est appelée. L’exemple vérifie alors si la collection est verrouillée et, si oui, appelle Unlock.
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.LockForWrite("System::InteractiveMode");
variableDispenser.GetVariables(ref vars);
// Determine whether the variable collection is locked before unlocking.
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.LockForWrite("System::InteractiveMode")
variableDispenser.GetVariables( vars)
' Determine whether the variable collection is locked before unlocking.
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 est utilisée pour débloquer des variables qui étaient bloquées en utilisant la VariableDispenser classe. Lorsqu’elle VariableDispenser distribue une collection de variables, elle garde une trace de la collection dans une liste. Lorsque la tâche qui appelle le distributeur variable se termine de son exécution, toutes les collections délivrées sont automatiquement débloquées. Par conséquent, si le déverrouillage automatique convient à vos besoins, et si le déverrouillage automatique a eu lieu à la fin de la tâche, vous n’avez pas besoin d’appeler la Unlock méthode. Cependant, il est parfois souhaitable de débloquer les variables dès que possible pour des raisons de performance. Un appel explicite à cette Unlock méthode débloque les variables.
La Locked propriété renvoie une valeur de false pour indiquer qu’une collection délivrée a déjà été déverrouillée. Une valeur de true indique que la collection de variables est toujours verrouillée. Appeler Unlock deux fois provoque une erreur ; par conséquent, dans certaines situations, il se peut que vous deviez vérifier la valeur de cette propriété avant de décider si vous appelez Unlock.