ScriptTask.SuspendRequired プロパティ
タスクがブレークポイントに到達したときにタスクを中断するかどうかを示す Boolean を取得または設定します。 この値は、ブレークポイントに到達したときにタスクおよびコンテナーに対してランタイム エンジンで設定されます。
名前空間: 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、タスクを中断しない場合は false です。
実装
説明
このプロパティはコード内では設定されません。 ブレークポイントに到達したときにタスクおよびコンテナーに対してランタイムで設定されます。
ただし、ブレークポイントを公開するマルチスレッド カスタム タスクを作成する場合は、マルチスレッド オブジェクトの IDTSSuspend クラスから継承されるこのメソッドのコードを指定する必要があります。 タスクがシングル スレッドであり、カスタム タスクで Execute を実装しても新しいスレッドが起動されない場合は、このインターフェイスを実装する必要はありません。 カスタム タスクの作成の詳細については、「カスタム タスクの開発」を参照してください。
使用例
次のコード例では、カスタム タスクの SuspendRequired プロパティをオーバーライドします。
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