IDTSSuspend.SuspendRequired Propiedad
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Obtiene o establece un valor booleano que indica si las tareas deben suspenderse cuando encuentran un punto de interrupción. El motor en tiempo de ejecución establece este valor 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
True si la tarea se suspende cuando encuentra un punto de interrupción.
Ejemplos
El ejemplo de código siguiente es un ejemplo de una propiedad invalidada SuspendRequired para una tarea personalizada.
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
Comentarios
La propiedad no se establece en el código. El tiempo de ejecución lo establece para tareas y contenedores cuando se encuentra un punto de interrupción.
Sin embargo, deberá proporcionar código para este método, que se hereda de la IDTSSuspend clase , si escribe una tarea personalizada multiproceso que expone puntos de interrupción. Si la tarea tiene un único subproceso, lo que significa que la implementación de Execute en la tarea personalizada no inicia nuevos subprocesos, no es necesario implementar esta interfaz. Para obtener más información sobre cómo escribir tareas personalizadas, consulte Desarrollo de una tarea personalizada.