DtsContainer.SuspendRequired Свойство
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Возвращает или задает логическое значение, указывающее, должны ли задачи приостанавливаться при обнаружении точки останова. Это значение устанавливается подсистемой среды выполнения для задач и контейнеров при обнаружении точки останова.
public:
property bool SuspendRequired { bool get(); void set(bool value); };
public bool SuspendRequired { get; set; }
member this.SuspendRequired : bool with get, set
Public Property SuspendRequired As Boolean
Значение свойства
Значение true, если задача приостанавливается при обнаружении точки останова.
Реализации
Примеры
В следующем примере кода приведен пример переопределенного SuspendRequired свойства для пользовательской задачи.
public bool SuspendRequired
{
get
{
// m_suspendRequired is an Private integer declared in the custom task.
return m_suspendRequired != 0;
}
set
{
// This lock is also taken by Suspend(). Since it is possible for the package to be
// suspended and resumed in quick succession, this property "put" might happen
// before the actual Suspend() call. Without the lock, the Suspend() might reset
// the canExecute event after we set it to abort the suspension.
lock (this)
{
Interlocked.Exchange(ref m_suspendRequired, value ? 1 : 0);
if (!value)
ResumeExecution();
}
}
Public ReadOnly Property SuspendRequired() As Boolean
Get
' m_suspendRequired is an Private integer declared in the custom task.
Return m_suspendRequired <> 0
End Get
Public WriteOnly Property SuspendRequired() As Boolean
Set (ByVal Value As Boolean)
' This lock is also taken by Suspend(). Since it is possible for the package to be
' suspended and resumed in quick succession, this property "put" might happen
' before the actual Suspend() call. Without the lock, the Suspend() might reset
' the canExecute event after it is set to abort the suspension.
lock (Me)
{
Interlocked.Exchange(m_suspendRequired, value ? 1 : 0)
If Not value Then
ResumeExecution()
End If
}
End Set
End Property
Комментарии
Свойство не задано в коде. Она устанавливается средой выполнения для задач и контейнеров при обнаружении точки останова.
Однако вам потребуется предоставить код для этого метода, который наследуется от IDTSSuspend класса, если вы напишете многопотоковую пользовательскую задачу, которая предоставляет точки останова. Если задача состоит из одного потока, то есть реализация в пользовательской Execute задаче не запускает новые потоки, вам не нужно реализовывать этот интерфейс. Дополнительные сведения о написании пользовательских задач см. в разделе "Разработка пользовательской задачи".