DMQueryTask.SuspendRequired Propriedade
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.
Obtém ou define um valor booliano que indica se as tarefas devem ser suspensas quando encontrarem um ponto de interrupção. Esse valor é definido pelo mecanismo de runtime para tarefas e contêineres quando um ponto de interrupção é encontrado.
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
Valor da propriedade
true se a tarefa for suspensa quando encontrar um ponto de interrupção; caso contrário, false.
Implementações
Exemplos
O exemplo de código a seguir é um exemplo de uma propriedade substituída SuspendRequired para uma tarefa personalizada.
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
Comentários
A propriedade não está definida no código. Ele é definido pelo runtime para tarefas e contêineres quando um ponto de interrupção é encontrado.
No entanto, você precisará fornecer código para esse método, que é herdado da IDTSSuspend classe, se você escrever uma tarefa personalizada de vários threads que expõe pontos de interrupção. Se sua tarefa for um thread único, o que significa que sua implementação Execute em sua tarefa personalizada não iniciará novos threads, você não precisará implementar essa interface. Para obter mais informações sobre como escrever tarefas personalizadas, consulte Desenvolvendo uma tarefa personalizada.