VariableDispenser.Reset Метод
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Очищает списки переменных, доступных только для чтения и доступных для чтения и записи, если вызов метода GetVariables(Variables) завершается неудачей.
public:
void Reset();
public void Reset ();
member this.Reset : unit -> unit
Public Sub Reset ()
Примеры
Следующий пример кода блокирует коллекцию переменных, а затем определяет, заблокирована ли коллекция переменных перед их разблокировкой. Если блокировка завершилась сбоем, 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
Комментарии
Этот метод можно использовать для очистки списка только для чтения и списка блокировки чтения и записи после сбоя вызова GetVariables . Если вызов GetVariables завершается сбоем, списки блокировок не очищаются и, следовательно, при повторном вызове GetVariables предпринимается попытка заблокировать те же переменные. Если вы хотите повторить блокировку одних и того же переменных, вызовите GetVariables снова без вызова Reset . Кроме того, можно освободить списки с помощью этого метода и отказаться от операции до тех пор, пока все необходимые переменные не будут доступны и могут быть заблокированы одновременно.
Кроме того, метод используется, Reset если вы получаете сбой GetVariables и хотите заблокировать совершенно другой и несвязанный набор переменных далее. Вы будете вызывать Reset очистку списков блокировок, а затем перезаполнять списки блокировок с помощью LockForReadметодов , LockForWriteLockOneForReadи LockOneForWrite методов.