ScriptTask.SuspendRequired Propiedad

Definición

Obtiene o establece un booleano que indica si una tarea debe suspender su ejecución cuando la tarea encuentra un punto de interrupción. Este valor lo establece el motor de ejecución para tareas y contenedores cuando se encuentra un punto de interrupción.

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 de propiedad

Verdadero si la tarea suspende la ejecución cuando encuentra un punto de interrupción; de lo contrario, falso.

Implementaciones

Ejemplos

El siguiente ejemplo de código muestra cómo sobrescribir la SuspendRequired propiedad para una tarea 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  

Comentarios

Esta propiedad no está establecida en el código. La propiedad se establece mediante el tiempo de ejecución para tareas y contenedores cuando se encuentra un punto de interrupción.

Sin embargo, si escribes una tarea personalizada multihilo que expone puntos de interrupción, debes proporcionar código para este método, que se hereda de la IDTSSuspend clase para objetos multihilo. Si tu tarea es de un solo hilo, lo que significa que la implementación de Execute en tu tarea personalizada no inicia nuevos hilos, no tienes que implementar esta interfaz. Para más información sobre cómo escribir tareas personalizadas, véase Desarrollo de una tarea personalizada.

Se aplica a