Partilhar via


ScriptTask.SuspendRequired Propriedade

Definição

Obtém ou define um booliano que indica se uma tarefa deve suspender a execução quando a tarefa encontra um ponto de interrupção. Esse valor é definido pelo mecanismo de tempo de execução 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 suspender a execução quando encontrar um ponto de interrupção; caso contrário, false.

Implementações

Exemplos

O exemplo de código a seguir mostra como substituir a SuspendRequired propriedade por uma tarefa personalizada.

public bool SuspendRequired   
{  
     get  
    {   
        // m_suspendRequired is a Private integer declared in the custom task.   
        return m_suspendRequired != 0;   
    }  

    set  
    {  
    // This lock is also taken by Suspend().  Because it is possible for the package to be   
    // suspended and resumed in quick succession, this property "set" 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 a 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().  Because 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 (Me)  
         {  
               Interlocked.Exchange(m_suspendRequired, value ? 1 : 0)   
                     If Not value Then  
                       ResumeExecution()  
                     End If  
             }  
         End Set  
End Property  

Comentários

Essa propriedade não está definida no código. A propriedade é definida pelo runtime para tarefas e contêineres quando um ponto de interrupção é encontrado.

No entanto, se você escrever uma tarefa personalizada multithread que expõe pontos de interrupção, deverá fornecer código para esse método, que é herdado da IDTSSuspend classe para objetos multithread. Se sua tarefa for um único thread, o que significa que a implementação da Execute 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.

Aplica-se a