다음을 통해 공유


WebServiceTask.DebugMode 속성

정의

작업이 디버그 모드인지 여부를 나타내는 부울 값을 가져오거나 설정합니다. 여러 스레드에서 동시에 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입니다.

구현

예제

다음 코드 예제에서는 WebServiceTask를 사용하여 TaskHost속성을 포함한 DebugMode속성의 기본 설정을 보여 냅니다. 그런 다음 필드 값을 설정하는 방법을 보여 줄 두 개의 필드를 설정합니다.

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 클래스 라이브러리를 참조 InterlockedInterlocked Class 하세요.

IsBreakpointTargetEnabled 함수는 태스크가 코드에서 중단점을 발견할 때마다 호출됩니다. 중단점 대상이 사용되는지 확인하기 위해 함수 IsBreakpointTargetEnabled 를 호출하는 것은 반복적으로 DebugMode 호출될 때 비용이 많이 들기 때문에 실행 파일을 디버그할지 여부를 나타내는 데 플래그가 사용됩니다. 이 플래그를 false설정하면 작업에서 활성화된 중단점을 확인하는 호출을 방지할 수 있습니다. 값 true 은 태스크가 활성화된 중단점을 확인해야 하며 해당 중단점을 확인할 때 IsBreakpointTargetEnabled 임을 나타냅니다.

적용 대상