다음을 통해 공유


Service Debug Behavior

이 샘플에서는 서비스 디버그 동작 설정을 구성하는 방법을 보여 줍니다. 이 샘플은 ICalculator 서비스 계약을 구현하는 Getting Started 샘플을 기반으로 합니다. 이 샘플에서는 구성 파일에 서비스 디버그 동작을 명시적으로 정의합니다. 또한 코드에서 명령적으로 정의할 수 있습니다.

이 샘플에서 클라이언트는 콘솔 응용 프로그램(.exe)이고 서비스는 IIS(인터넷 정보 서비스)를 통해 호스팅됩니다.

Aa717048.note(ko-kr,VS.100).gif참고:
이 샘플의 설치 절차 및 빌드 지침은 이 항목의 끝부분에 나와 있습니다.

서버에 대한 Web.config 파일에서는 다음 샘플과 같이 서비스 디버그 동작을 정의하여 도움말 페이지 및 예외 처리를 사용하도록 설정합니다.

<behaviors>
     <serviceBehaviors>
         <behavior name="CalculatorServiceBehavior">
         <!-- WARNING: Setting includeExceptionDetailInFaults = "True" could result in leaking secured server information to the client.-->
         <!-- Please set this to false when deploying -->
             <serviceDebug includeExceptionDetailInFaults="True" httpHelpPageEnabled="True"/>
         </behavior>
     </serviceBehaviors>
</behaviors>

serviceDebug는 서비스 디버그 동작 속성을 변경할 수 있는 구성 요소입니다. 사용자는 이 동작을 수정하여 다음을 수행할 수 있습니다.

  • FaultContractAttribute를 사용하여 예외가 선언되지 않은 경우에도 서비스에서 응용 프로그램 코드에 의해 throw된 예외를 반환할 수 있습니다. 이 작업은 includeExceptionDetailInFaultstrue로 설정하여 수행합니다. 이 설정은 서버가 예기치 않은 예외를 throw하는 경우를 디버깅할 때 유용합니다.

    Aa717048.Important(ko-kr,VS.100).gif 참고:
    프로덕션 환경에서는 이 설정을 켜면 안전하지 않습니다. 예기치 않은 서버 예외에 클라이언트에 사용할 수 없는 정보가 포함될 수 있으므로 includeExceptionDetailsInFaultstrue로 설정하면 정보 누수가 발생할 수 있습니다.

  • 또한 serviceDebug를 통해 사용자는 도움말 페이지를 사용하거나 사용하지 않도록 설정할 수 있습니다. 각 서비스는 서비스의 WSDL을 가져오기 위한 끝점을 비롯하여 서비스에 대한 정보를 포함하는 도움말 페이지를 선택적으로 노출할 수 있습니다. 이는 httpHelpPageEnabledtrue로 설정하여 활성화할 수 있습니다. 이렇게 하면 서비스의 기본 주소에 대한 GET 요청으로 도움말 페이지가 반환될 수 있습니다. 이 주소는 다른 특성 httpHelpPageUrl을 설정하여 변경할 수 있습니다. HTTP 대신 HTTPS를 사용하여 보안을 유지할 수 있습니다. 이 작업은 httpsHelpPageEnabledhttpsHelpPageUrl을 설정하여 수행할 수 있습니다.

샘플을 실행하면 작업 요청 및 응답이 클라이언트 콘솔 창에 표시됩니다. 처음 세 가지 연산(더하기, 빼기 및 곱하기)은 성공해야 합니다. 마지막 연산("나누기 ")은 0으로 나누기 예외가 발생하여 실패합니다.

샘플을 설치, 빌드 및 실행하려면

  1. Windows Communication Foundation 샘플의 일회 설치 절차를 수행했는지 확인합니다.

  2. C# 또는 Visual Basic .NET 버전의 솔루션을 빌드하려면 Windows Communication Foundation 샘플 빌드의 지침을 따릅니다.

  3. 단일 컴퓨터 또는 다중 컴퓨터 구성에서 샘플을 실행하려면 Running the Windows Communication Foundation Samples의 지침을 따릅니다.

Aa717048.Important(ko-kr,VS.100).gif 참고:
컴퓨터에 이 샘플이 이미 설치되어 있을 수도 있습니다. 계속하기 전에 다음(기본) 디렉터리를 확인하십시오.

<InstallDrive>:\WF_WCF_Samples

이 디렉터리가 없으면 Windows Communication Foundation (WCF) and Windows Workflow Foundation (WF) Samples for .NET Framework 4로 이동하여 WCF(Windows Communication Foundation) 및 WF 샘플을 모두 다운로드하십시오. 이 샘플은 다음 디렉터리에 있습니다.

<InstallDrive>:\WF_WCF_Samples\WCF\Basic\Services\Behaviors\ServiceDebug