Variables.Unlock Metodo
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Rilascia i blocchi sulla raccolta di variabili e contrassegna lo stato della raccolta di variabili come non valido o sconosciuto.
public:
void Unlock();
public void Unlock ();
member this.Unlock : unit -> unit
Public Sub Unlock ()
Esempio
Nell'esempio di codice seguente viene bloccata la raccolta di variabili quando GetVariables viene chiamata. L'esempio verifica quindi se la raccolta è bloccata e, in caso affermativo, chiama 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
Commenti
Questo metodo viene usato per sbloccare le variabili bloccate usando la VariableDispenser classe . Quando VariableDispenser distribuisce una raccolta di variabili, mantiene traccia della raccolta in un elenco. Quando l'attività denominata distributore variabile termina l'esecuzione, tutte le raccolte dispensate vengono sbloccate automaticamente. Pertanto, se lo sblocco automatico è adatto ai fini dell'utente e, se si è verificato lo sblocco automatico al termine dell'attività, non è necessario chiamare il Unlock metodo. Tuttavia, a volte è consigliabile sbloccare le variabili non appena possibile per motivi di prestazioni. Una chiamata esplicita a questo Unlock metodo sblocca le variabili.
La Locked proprietà restituisce un valore di false
per indicare che una raccolta dispensata è già stata sbloccata. Valore di indica che la raccolta di true
variabili è ancora bloccata. La chiamata Unlock due volte causa un errore; pertanto, in alcune situazioni potrebbe essere necessario controllare il valore di questa proprietà prima di decidere se chiamare Unlock.