WebServiceTask.DebugMode 속성
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
작업이 디버그 모드인지 여부를 나타내는 부울 값을 가져오거나 설정합니다. 여러 스레드에서 동시에 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 클래스 라이브러리를 참조 Interlocked
Interlocked Class
하세요.
이 IsBreakpointTargetEnabled 함수는 태스크가 코드에서 중단점을 발견할 때마다 호출됩니다. 중단점 대상이 사용되는지 확인하기 위해 함수 IsBreakpointTargetEnabled 를 호출하는 것은 반복적으로 DebugMode 호출될 때 비용이 많이 들기 때문에 실행 파일을 디버그할지 여부를 나타내는 데 플래그가 사용됩니다. 이 플래그를 false
설정하면 작업에서 활성화된 중단점을 확인하는 호출을 방지할 수 있습니다. 값 true
은 태스크가 활성화된 중단점을 확인해야 하며 해당 중단점을 확인할 때 IsBreakpointTargetEnabled 임을 나타냅니다.