다음을 통해 공유


ScriptTask.SuspendRequired 속성

Gets or sets a Boolean indicating whether a task should suspend execution when the task encounters a breakpoint. This value is set by the run-time engine for tasks and containers when a breakpoint is encountered.

네임스페이스:  Microsoft.SqlServer.Dts.Tasks.ScriptTask
어셈블리:  Microsoft.SqlServer.ScriptTask(Microsoft.SqlServer.ScriptTask.dll)

구문

‘선언
Public Property SuspendRequired As Boolean 
    Get 
    Set
‘사용 방법
Dim instance As ScriptTask 
Dim value As Boolean 

value = instance.SuspendRequired

instance.SuspendRequired = value
public bool SuspendRequired { get; set; }
public:
virtual property bool SuspendRequired {
    bool get () sealed;
    void set (bool value) sealed;
}
abstract SuspendRequired : bool with get, set 
override SuspendRequired : bool with get, set
final function get SuspendRequired () : boolean 
final function set SuspendRequired (value : boolean)

속성 값

유형: System.Boolean
true if the task suspends execution when it encounters a breakpoint; otherwise, false.

구현

IDTSSuspend.SuspendRequired

주의

This property is not set in code. The property is set by the runtime for tasks and containers when a breakpoint is encountered.

However, if you write a multithreaded custom task that exposes breakpoints, you must provide code for this method, which is inherited from the IDTSSuspend class for multithreaded objects. If your task is single threaded, which means that the implementation of Execute in your custom task does not start new threads, you do not have to implement this interface. For more information about writing custom tasks, see 사용자 지정 태스크 개발.

The following code example shows how to override the SuspendRequired property for a custom task.

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

참고 항목

참조

ScriptTask 클래스

Microsoft.SqlServer.Dts.Tasks.ScriptTask 네임스페이스