<serviceDebug>
WCF(Windows Communication Foundation) 서비스의 디버깅 및 도움말 정보 기능을 지정합니다.
스키마 계층
<system.serviceModel>
<behaviors>
<serviceBehaviors>
<serviceBehaviors>의 <behavior>
<serviceDebug>
구문
<serviceDebug httpHelpPageBinding=”String” httpHelpPageBindingConfiguration=”String”
httpHelpPageEnabled="Boolean"
httpHelpPageUrl="Uri"
httpsHelpPageBinding=”String” httpsHelpPageBindingConfiguration=”String”
httpsHelpPageEnabled="Boolean"
httpsHelpPageUrl="Uri"
includeExceptionDetailInFaults="Boolean" />
특성 및 요소
다음 단원에서는 특성, 자식 요소 및 부모 요소에 대해 설명합니다.
특성
특성 | 설명 |
---|---|
httpHelpPageBinding |
HTTP를 사용하여 서비스 도움말 페이지에 액세스할 때 사용할 바인딩 형식을 지정하는 문자열 값입니다. System.ServiceModel.Channels.IReplyChannel을 지원하는 내부 바인딩 요소가 있는 바인딩만 지원됩니다. 또한 바인딩의 System.ServiceModel.Channels.MessageVersion 속성은 System.ServiceModel.Channels.MessageVersion.None이어야 합니다. |
httpHelpPageBindingConfiguration |
이 바인딩의 추가 구성 정보를 참조하는 httpHelpPageBinding 특성에 지정된 바인딩의 이름을 지정하는 문자열입니다. 이와 동일한 이름이 <bindings> 섹션에서 정의되어야 합니다. |
httpHelpPageEnabled |
WCF가 httpHelpPageUrl 특성으로 지정된 주소에 HTML 도움말 페이지를 게시할지 여부를 제어하는 부울 값입니다. 기본값은 true입니다. HTML 브라우저에 HTML 도움말 페이지가 게시되지 않게 하려면 이 속성을 false로 설정합니다. httpHelpPageUrl 특성으로 지정된 위치에 HTML 도움말 페이지가 게시되게 하려면 이 특성을 true로 설정해야 합니다. 또한 다음 조건 중 하나도 충족해야 합니다.
HTTP 프로토콜 체계를 지원하지 않는 절대 주소가 httpHelpPageUrl 특성에 할당되면 예외가 throw되지만, 앞의 조건을 모두 충족하지 않는 시나리오에서는 예외가 발생하지 않고 HTML 도움말 페이지도 생성되지 않습니다. |
httpHelpPageUrl |
HTML 브라우저를 사용하여 끝점을 볼 때 사용자에게 표시되는 사용자 지정 HTML 도움말 파일의 상대 또는 절대 HTTP 기반 URL을 지정하는 URI입니다. 이 특성을 사용하면 HTML 브라우저 등의 HTTP/Get 요청으로부터 반환되는 사용자 지정 HTML 도움말 파일을 사용하도록 설정할 수 있습니다. HTML 도움말 파일의 위치는 다음과 같이 확인됩니다.
이 특성은 httpHelpPageEnabled 특성이 true일 때만 유효합니다. |
httpsHelpPageBinding |
HTTPS를 사용하여 서비스 도움말 페이지에 액세스할 때 사용할 바인딩 형식을 지정하는 문자열 값입니다. System.ServiceModel.Channels.IReplyChannel을 지원하는 내부 바인딩 요소가 있는 바인딩만 지원됩니다. 또한 바인딩의 System.ServiceModel.Channels.MessageVersion 속성은 System.ServiceModel.Channels.MessageVersion.None이어야 합니다. |
httpsHelpPageBindingConfiguration |
이 바인딩의 추가 구성 정보를 참조하는 httpsHelpPageBinding 특성에 지정된 바인딩의 이름을 지정하는 문자열입니다. 이와 동일한 이름이 <bindings> 섹션에서 정의되어야 합니다. |
httpsHelpPageEnabled |
WCF가 httpsHelpPageUrl 특성으로 지정된 주소에 HTML 도움말 페이지를 게시할지 여부를 제어하는 부울 값입니다. 기본값은 true입니다. HTML 브라우저에 HTML 도움말 페이지가 게시되지 않게 하려면 이 속성을 false로 설정합니다. httpsHelpPageUrl 특성으로 지정된 위치에 HTML 도움말 페이지가 게시되게 하려면 이 특성을 true로 설정해야 합니다 또한 다음 조건 중 하나도 충족해야 합니다.
HTTPS 프로토콜 체계를 지원하지 않는 절대 주소가 httpsHelpPageUrl 특성에 할당되면 예외가 throw되지만, 앞의 조건을 모두 충족하지 않는 시나리오에서는 예외가 발생하지 않고 HTML 도움말 페이지도 생성되지 않습니다. |
httpsHelpPageUrl |
HTML 브라우저를 사용하여 끝점을 볼 때 사용자에게 표시되는 사용자 지정 HTML 도움말 파일의 상대 또는 절대 HTTPS 기반 URL을 지정하는 URI입니다. 이 특성을 사용하면 HTML 브라우저 등의 HTTPS/Get 요청으로부터 반환되는 사용자 지정 HTML 도움말 파일을 사용하도록 설정할 수 있습니다. HTML 도움말 파일의 위치는 다음과 같이 확인됩니다.
이 특성은 httpHelpPageEnabled 특성이 true일 때만 유효합니다. |
includeExceptionDetailInFaults |
디버깅 목적으로 클라이언트에 반환되는 SOAP 오류의 세부 정보에 관리되는 예외 정보를 포함할지 여부를 지정하는 값입니다. 기본값은 false입니다. 이 특성을 true로 설정한 경우 관리되는 예외 정보가 디버깅을 위해 클라이언트로 전달되게 하고, 웹 브라우저에서 서비스를 검색하는 사용자를 위해 HTML 정보 파일을 게시할 수 있습니다.
주의:
관리되는 예외 정보를 클라이언트에 반환하면 보안상 위험할 수 있습니다. 예외 정보가 내부 서비스 구현 정보를 공개하여 권한 없는 클라이언트에서 이를 사용할 수 있기 때문입니다.
|
자식 요소
없음
부모 요소
요소 | 설명 |
---|---|
동작 요소를 지정합니다. |
설명
includeExceptionDetailInFaults를 true로 설정하면 응용 프로그램 코드에 의해 throw된 예외를 FaultContractAttribute를 통해 선언하지 않은 경우에도 서비스에서 이러한 예외를 반환할 수 있습니다. 이 설정은 서버가 예기치 않은 예외를 throw하는 경우를 디버깅할 때 유용합니다. 이 특성을 사용하면 알 수 없는 예외가 serialize된 형태로 반환되어 예외를 보다 자세하게 검토할 수 있습니다.
주의: |
---|
관리되는 예외 정보를 클라이언트에 반환하면 예외 정보가 내부 서비스 구현 정보를 노출하여 권한이 없는 클라이언트에서 사용할 수 있으므로 보안상 위험할 수 있습니다. 보안 문제로 인해 제어된 디버깅 시나리오에서만 이 작업을 수행하는 것이 좋습니다. 응용 프로그램을 배포할 때는 includeExceptionDetailInFaults를 false로 설정해야 합니다. |
관리되는 예외와 관련한 보안 문제에 대한 자세한 내용은 Specifying and Handling Faults in Contracts and Services를 참조하십시오. 코드 샘플은 Service Debug Behavior를 참조하십시오.
또한 httpsHelpPageEnabled 및 httpsHelpPageUrl을 설정하여 도움말 페이지를 사용하거나 사용하지 않도록 설정할 수 있습니다. 각 서비스는 서비스의 WSDL을 가져오기 위한 끝점을 비롯하여 서비스에 대한 정보를 포함하는 도움말 페이지를 선택적으로 노출할 수 있습니다. 이는 httpHelpPageEnabled를 true로 설정하여 활성화할 수 있습니다. 이렇게 하면 서비스의 기본 주소에 대한 GET 요청으로 도움말 페이지가 반환될 수 있습니다. 이 주소는 httpHelpPageUrl 특성을 설정하여 변경할 수 있습니다. 또한 HTTP 대신 HTTPS를 사용하여 보안을 유지할 수 있습니다.
선택적 httpHelpPageBinding 및 httpHelpPageBinding 특성을 사용하면 서비스 웹 페이지에 액세스하는 데 사용되는 바인딩을 구성할 수 있습니다. 바인딩을 지정하지 않으면 서비스 도움말 페이지 액세스에 기본 바인딩(HTTP의 경우 HttpTransportBindingElement, HTTPS의 경우 HttpsTransportBindingElement)이 적절하게 사용됩니다. 기본 제공 WCF 바인딩에는 이러한 특성을 사용할 수 없습니다. System.ServiceModel.Channels.IReplyChannel을 지원하는 내부 바인딩 요소가 있는 바인딩만 지원됩니다. 또한 바인딩의 System.ServiceModel.Channels.MessageVersion 속성은 System.ServiceModel.Channels.MessageVersion.None이어야 합니다.
참고 항목
참조
ServiceDebugElement
ServiceDebugBehavior
기타 리소스
Specifying and Handling Faults in Contracts and Services
Handling Exceptions and Faults
Service Debug Behavior