Use the ServiceDebugBehavior properties from a configuration file or programmatically to enable the flow of managed exception information to the client for debugging purposes as well as the publication of HTML information files for users browsing the service in Web browsers.
Set the IncludeExceptionDetailInFaults property to true to instruct WCF to return managed exception information in SOAP faults to clients for debugging purposes.
Caution: |
|---|
Returning managed exception information to clients can be a security risk because exception details expose information about the internal service implementation that could be used by unauthorized clients. In addition, although the ServiceDebugBehavior properties can also be set programmatically, it can be easy to forget to disable IncludeExceptionDetailInFaults when deploying. |
Because of the security issues involved, it is strongly recommended that:
For more information about the security issues related to managed exception information, see Specifying and Handling Faults in Contracts and Services.
The HttpHelpPageEnabled and HttpsHelpPageEnabled properties instruct the service to publish HTML help files when the service is viewed using an HTML browser.
The HttpHelpPageUrl and HttpsHelpPageUrl properties control the location of the HTML help page that is viewed.
To enable or disable one of the ServiceDebugBehavior features using a configuration file:
Add a behaviorConfiguration attribute to the <service> element for your WCF service. Endpoint behaviors are configured on <endpoint> elements; service behaviors on <service> elements.
Add to or create a <serviceBehaviors> section and add a <behavior> element to that with the name that matches the behaviorConfiguration attribute value from step 1. Endpoint behaviors are configured using an <endpointBehaviors> element; service behaviors are configured using a <serviceBehaviors> element.
Add a <serviceDebug> element to the <behavior> element from step 2 and enable or disable the various properties appropriate to your scenario.
For a specific example, see the Example section.