CallbackDebugBehavior.IncludeExceptionDetailInFaults Property
Definition
Important
Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.
Gets or sets a value that controls whether client callback objects return managed exception information in SOAP faults back to the service.
public:
property bool IncludeExceptionDetailInFaults { bool get(); void set(bool value); };
public bool IncludeExceptionDetailInFaults { get; set; }
member this.IncludeExceptionDetailInFaults : bool with get, set
Public Property IncludeExceptionDetailInFaults As Boolean
Property Value
true
if WCF returns managed client callback exception information in the SOAP faults for service debugging purposes in duplex communication; otherwise, false
. The default is false
.
Examples
The following code example shows a client configuration file that instructs WCF to return managed exception information from a client callback object in SOAP messages.
<client>
<endpoint
address="http://localhost:8080/DuplexHello"
binding="wsDualHttpBinding"
bindingConfiguration="WSDualHttpBinding_SampleDuplexHello"
contract="SampleDuplexHello"
name="WSDualHttpBinding_SampleDuplexHello"
behaviorConfiguration="enableCallbackDebug">
</endpoint>
</client>
<behaviors>
<endpointBehaviors>
<behavior name="enableCallbackDebug">
<callbackDebug includeExceptionDetailInFaults="true"/>
</behavior>
</endpointBehaviors>
</behaviors>
Remarks
Set the IncludeExceptionDetailInFaults property to true
from an application configuration file or programmatically to enable the flow of managed exception information in a client callback object back to the service for debugging purposes.
Caution
Returning managed exception information to services can be a security risk because exception details expose information about the internal client implementation that could be used by unauthorized services. In addition, although the CallbackDebugBehavior 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:
You use an application configuration file to set the value of the IncludeExceptionDetailInFaults property to
true
.You only do so only in controlled debugging scenarios.
For more information about the security issues related to managed exception information, see Specifying and Handling Faults in Contracts and Services.
To enable or disable a feature of CallbackDebugBehavior using a configuration file
Add a
behaviorConfiguration
attribute to the client <endpoint> element for your WCF client application. The CallbackDebugBehavior behavior is an endpoint behavior. Endpoint behaviors are configured on<endpoint>
elements; service behaviors are configured on <service> elements.Add to or create an <endpointBehaviors> section and add a <behavior> element to that with the name that matches the
behaviorConfiguration
attribute value from step 1. Endpoint behaviors are added for use in a client <endpoint> element using an <endpointBehaviors> element.Add a <callbackDebug> 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. You can also set the values of this attribute by using the <callbackDebug> element in a client application configuration file.