Share via


WebServiceTask.DebugMode プロパティ

定義

タスクがデバッグ モードかどうかを示すブール型 (Boolean) の値を取得または設定します。 DebugMode プロパティには、複数のスレッドが同時にアクセスできます。 スレッド セーフを確保し、コンカレンシーの問題を回避するために、Microsoft .NET Frameworkの Interlocked クラスが使用されます。

public:
 property bool DebugMode { bool get(); void set(bool value); };
public bool DebugMode { get; set; }
member this.DebugMode : bool with get, set
Public Property DebugMode As Boolean

プロパティ値

タスクがデバッグ モードの場合は true。それ以外の場合は false。

実装

次のコード例では、を使用して、プロパティDebugModeの既定の設定を示す 、を作成WebServiceTaskしますTaskHost。 次に、フィールド値を設定する方法を示す 2 つのフィールドを設定します。

using System;  
using System.Collections.Generic;  
using System.Text;  
using Microsoft.SqlServer.Dts.Runtime;  
using Microsoft.SqlServer.Dts.Tasks.WebServiceTask;  

namespace Microsoft.SqlServer.SSIS.Samples  
{  
    class Program  
    {  
        static void Main(string[] args)  
        {  
            Package pkg = new Package();  
            Executable exec1 = pkg.Executables.Add("STOCK:WebServiceTask");  
            TaskHost th = exec1 as TaskHost;  

            // List the default values of the Web Service task  
            // using the Properties collection of the TaskHost.  
            Console.WriteLine("Connection        {0}", th.Properties["Connection"].GetValue(th));  
            Console.WriteLine("DebugMode         {0}", th.Properties["DebugMode"].GetValue(th));  
            Console.WriteLine("OutputLocation    {0}", th.Properties["OutputLocation"].GetValue(th));  
            Console.WriteLine("OutputType        {0}", th.Properties["OutputType"].GetValue(th));  
            Console.WriteLine("OverwriteWsdlFile {0}", th.Properties["OverwriteWsdlFile"].GetValue(th));  
            Console.WriteLine("ServiceName       {0}", th.Properties["ServiceName"].GetValue(th));  
            Console.WriteLine("SuspendRequired   {0}", th.Properties["SuspendRequired"].GetValue(th));  
            Console.WriteLine("WebMethodInfo     {0}", th.Properties["WebMethodInfo"].GetValue(th));  
            Console.WriteLine("WsdlFile          {0}", th.Properties["WsdlFile"].GetValue(th));  

            Console.WriteLine("--------------------------");  
            // Show how to set a property using the TaskHost Properties.  
            th.Properties["OutputType"].SetValue(th, DTSOutputType.File);  
            th.Properties["OverwriteWsdlFile"].SetValue(th, true);  

            Console.WriteLine("New value of OutputType and OverwriteWsdlFile: {0}, {1}", th.Properties["OutputType"].GetValue(th), th.Properties["OverwriteWsdlFile"].GetValue(th));  
        }  
    }  
}  
Imports System  
Imports System.Collections.Generic  
Imports System.Text  
Imports Microsoft.SqlServer.Dts.Runtime  
Imports Microsoft.SqlServer.Dts.Tasks.WebServiceTask  

Namespace Microsoft.SqlServer.SSIS.Samples  
    Class Program  
        Shared  Sub Main(ByVal args() As String)  
            Dim pkg As Package =  New Package()   
            Dim exec1 As Executable =  pkg.Executables.Add("STOCK:WebServiceTask")   
            Dim th As TaskHost =  exec1 as TaskHost   

            ' List the default values of the Web Service task  
            ' using the Properties collection of the TaskHost.  
            Console.WriteLine("Connection        {0}", th.Properties("Connection").GetValue(th))  
            Console.WriteLine("DebugMode         {0}", th.Properties("DebugMode").GetValue(th))  
            Console.WriteLine("OutputLocation    {0}", th.Properties("OutputLocation").GetValue(th))  
            Console.WriteLine("OutputType        {0}", th.Properties("OutputType").GetValue(th))  
            Console.WriteLine("OverwriteWsdlFile {0}", th.Properties("OverwriteWsdlFile").GetValue(th))  
            Console.WriteLine("ServiceName       {0}", th.Properties("ServiceName").GetValue(th))  
            Console.WriteLine("SuspendRequired   {0}", th.Properties("SuspendRequired").GetValue(th))  
            Console.WriteLine("WebMethodInfo     {0}", th.Properties("WebMethodInfo").GetValue(th))  
            Console.WriteLine("WsdlFile          {0}", th.Properties("WsdlFile").GetValue(th))  

            Console.WriteLine("--------------------------")  
            ' Show how to set a property using the TaskHost Properties.  
            th.Properties("OutputType").SetValue(th, DTSOutputType.File)  
            th.Properties("OverwriteWsdlFile").SetValue(th, True)  

            Console.WriteLine("New value of OutputType and OverwriteWsdlFile: {0}, {1}", th.Properties("OutputType").GetValue(th), th.Properties("OverwriteWsdlFile").GetValue(th))  
        End Sub  
    End Class  
End Namespace  

サンプル出力:

Connection

DebugMode False

OutputLocation

OutputType 0

OverwriteWsdlFile False

ServiceName

SuspendRequired False

WebMethodInfo

WsdlFile

--------------------------

New value of OutputType and OverwriteWsdlFile: 0, True

注釈

Interlocked クラスは、複数のスレッドで共有される変数にアトミックな操作を提供します。 変数が共有メモリ内にある場合、異なるプロセスのスレッドはこのメカニズムを使用できます。 詳細については、.NET Framework クラス ライブラリの「Interlocked」と「Interlocked Class」を参照してください。

IsBreakpointTargetEnabled 関数は、タスクがコード内のブレークポイントに到達するたびに呼び出されます。 ブレークポイント ターゲットが有効になっているかどうかを確認するために関数 IsBreakpointTargetEnabled を呼び出すと、繰り返し呼び出されるとコストがかかるため、 DebugMode フラグは実行可能ファイルがデバッグされるかどうかを示すために使用されます。 このフラグを false に設定すると、タスクはブレークポイントが有効かどうかを確認する呼び出しを行いません。 値が true の場合、タスクが有効なブレークポイントを確認する必要があることを示し、その場合は IsBreakpointTargetEnabled が確認されます。

適用対象