IDTSSuspend.SuspendRequired Propriété
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Obtient ou définit une valeur booléenne qui indique si les tâches doivent s’interrompre lorsqu’elles rencontrent un point d’arrêt. Cette valeur est définie par le moteur du runtime 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 s’interrompt lorsqu’elle rencontre un point d’arrêt.
Exemples
L’exemple de code suivant est un exemple de propriété substituée SuspendRequired pour une tâche personnalisée.
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
Remarques
La propriété n’est pas définie dans le code. Il est défini par le runtime pour les tâches et les conteneurs lorsqu’un point d’arrêt est rencontré.
Toutefois, vous devez fournir du code pour cette méthode, héritée de la IDTSSuspend classe, si vous écrivez une tâche personnalisée multithread qui expose des points d’arrêt. Si votre tâche est monothread, ce qui signifie que votre 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.