SendMailTask.SuspendRequired Eigenschaft

Definition

Dient zum Abrufen oder Festlegen eines booleschen Werts, der angibt, ob Vorgänge angehalten werden sollen, wenn ein Haltepunkt auftritt. Dieser Wert wird von der Runtime-Engine für Tasks und Container festgelegt, wenn ein Breakpoint erreicht wird.

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

Eigenschaftswert

true, wenn die Aufgabe angehalten wird, wenn ein Haltepunkt auftritt.

Implementiert

Beispiele

Das folgende Codebeispiel ist ein Beispiel für eine überschriebene SuspendRequired Eigenschaft für einen benutzerdefinierten Vorgang.

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  

Hinweise

Die Eigenschaft ist nicht im Code festgelegt. Sie wird durch die Laufzeit für Vorgänge und Container festgelegt, wenn ein Haltepunkt auftritt.

Sie müssen jedoch Code für diese Methode bereitstellen, die von der IDTSSuspend Klasse geerbt wird, wenn Sie eine benutzerdefinierte Multithreadaufgabe schreiben, die Haltepunkte verfügbar macht. Wenn Ihre Aufgabe single threaded ist, was bedeutet, dass Ihre Implementierung Execute in Ihrer benutzerdefinierten Aufgabe keine neuen Threads startet, müssen Sie diese Schnittstelle nicht implementieren. Weitere Informationen zum Schreiben benutzerdefinierter Aufgaben finden Sie unter Entwickeln einer benutzerdefinierten Aufgabe.

Gilt für: