CallbackDebugBehavior.IncludeExceptionDetailInFaults 属性
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
获取或设置一个值,该值控制客户端回调对象是否将 SOAP 错误中的托管异常信息返回到服务。
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
属性值
true
如果 WCF 在 SOAP 错误中返回托管客户端回调异常信息,以便在双工通信中进行服务调试,则为 ;否则为 false
。 默认值为 false
。
示例
下面的代码示例演示一个客户端配置文件,该文件指示 WCF 从 SOAP 消息中的客户端回调对象返回托管异常信息。
<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>
注解
从应用程序配置文件中或以编程方式将 IncludeExceptionDetailInFaults 属性设置为 true
,则可以使客户端回调对象中的托管异常信息回流到该服务,以便进行调试。
注意
将托管异常信息返回到服务可能存在安全风险,因为异常详细信息会公开有关内部客户端实现的信息,而未经授权的服务可能会使用这些信息。 此外,虽然 CallbackDebugBehavior 属性也可以通过编程方式进行设置,但在部署时容易忘记禁用 IncludeExceptionDetailInFaults。
由于涉及到一些安全问题,因此强烈建议您:
使用应用程序配置文件将 IncludeExceptionDetailInFaults 属性的值设置为
true
。仅在受控调试方案中才这样做。
有关与托管异常信息相关的安全问题的详细信息,请参阅 在协定和服务中指定和处理错误。
使用配置文件启用或禁用 CallbackDebugBehavio 的功能
将 属性
behaviorConfiguration
添加到 WCF 客户端应用程序的客户端 <终结点> 元素。 CallbackDebugBehavior 行为是终结点行为。 终结点行为在元素上<endpoint>
配置;服务行为在服务>元素上<配置。将 添加到或创建 <endpointBehaviors> 节,并在其中添加一个<行为>元素,其名称与步骤 1 中的
behaviorConfiguration
属性值匹配。 添加终结点行为,以便在使用 endpointBehaviors> 元素的<客户端<终结点>元素中使用。将 <callbackDebug> 元素添加到步骤 2 中的 <behavior> 元素,并启用或禁用适合你的方案的各种属性。
有关具体示例的信息,请参见“示例”部分。 还可以通过使用 <客户端应用程序配置文件中的 callbackDebug> 元素来设置此属性的值。