CallbackDebugBehavior.IncludeExceptionDetailInFaults 属性

定义

获取或设置一个值,该值控制客户端回调对象是否将 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

由于涉及到一些安全问题,因此强烈建议您:

有关与托管异常信息相关的安全问题的详细信息,请参阅 在协定和服务中指定和处理错误

使用配置文件启用或禁用 CallbackDebugBehavio 的功能

  1. 将 属性 behaviorConfiguration 添加到 WCF 客户端应用程序的客户端 <终结点> 元素。 CallbackDebugBehavior 行为是终结点行为。 终结点行为在元素上<endpoint>配置;服务行为在服务>元素上<配置。

  2. 将 添加到或创建 <endpointBehaviors> 节,并在其中添加一个<行为>元素,其名称与步骤 1 中的behaviorConfiguration属性值匹配。 添加终结点行为,以便在使用 endpointBehaviors> 元素的<客户端<终结点>元素中使用。

  3. <callbackDebug> 元素添加到步骤 2 中的 <behavior> 元素,并启用或禁用适合你的方案的各种属性。

有关具体示例的信息,请参见“示例”部分。 还可以通过使用 <客户端应用程序配置文件中的 callbackDebug> 元素来设置此属性的值。

适用于