Share via


ScriptTask.SuspendRequired Propriété

Définition

Obtient ou définit une valeur booléenne indiquant si une tâche doit interrompre l’exécution lorsque la tâche rencontre un point d’arrêt. Cette valeur est définie par le moteur d'exécution pour les tâches et les conteneurs lorsqu'un point d'arrêt est rencontré.

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

Valeur de propriété

true si la tâche suspend l’exécution lorsqu’elle rencontre un point d’arrêt ; sinon, false.

Implémente

Exemples

L’exemple de code suivant montre comment remplacer la SuspendRequired propriété pour une tâche personnalisée.

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  

Remarques

Cette propriété n’est pas définie dans le code. La propriété est définie par le runtime pour les tâches et les conteneurs lorsqu’un point d’arrêt est rencontré.

Toutefois, si vous écrivez une tâche personnalisée multithread qui expose des points d’arrêt, vous devez fournir du code pour cette méthode, héritée de la IDTSSuspend classe pour les objets multithread. Si votre tâche est monothread, ce qui signifie que l’implémentation de Execute votre tâche personnalisée ne démarre pas de nouveaux threads, vous n’avez pas besoin d’implémenter cette interface. Pour plus d’informations sur l’écriture de tâches personnalisées, consultez Développement d’une tâche personnalisée.

S’applique à