ServiceDebugBehavior.IncludeExceptionDetailInFaults 属性

定义

获取或设置一个值,该值指定在返回客户端以供调试的 SOAP 错误详细信息中是否包含托管异常信息。Gets or sets a value that specifies whether to include managed exception information in the detail of SOAP faults returned to the client for debugging purposes.

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

属性值

Boolean

true 如果 Windows Communication Foundation (WCF) 在 SOAP 错误中返回托管异常信息,以便进行客户端调试,则为;否则为 falsetrue if Windows Communication Foundation (WCF) returns managed exception information in the SOAP faults for client debugging purposes; otherwise, false. 默认值为 falseThe default is false.

示例

下面的代码示例演示如何使用配置文件来启用 HTML 帮助页功能,并将 SOAP 错误内部的异常信息返回给客户端以供调试。The following code example shows how to use a configuration file to enable the HTML help page feature and return exception information inside a SOAP fault back to the client for debugging purposes. 此配置文件演示以下用于添加对 ServiceDebugBehavior 功能的支持的基本步骤:This configuration file shows the following basic steps to adding support for the ServiceDebugBehavior features:

<configuration>
  <system.serviceModel>
    <services>
      <!-- 
        Step 1. Add a behaviorConfiguration attribute
        in the <service> element.
      -->
      <service 
        name="Microsoft.WCF.Documentation.SampleService"
        behaviorConfiguration="metadataAndDebug">
        <host>
          <baseAddresses>
            <add baseAddress="http://localhost:8080/SampleService" />
          </baseAddresses>
        </host>
        <endpoint
          address=""
          binding="wsHttpBinding"
          contract="Microsoft.WCF.Documentation.ISampleService"
        />
        <endpoint
           address="mex"
           binding="mexHttpBinding"
           contract="IMetadataExchange"
        />
      </service>
    </services>
    <behaviors>
      <serviceBehaviors>
        <!-- 
          Step 2. Inside a <serviceBehaviors> section, add 
          a name attribute in the <behaviors> element that 
          matches the behaviorConfiguration attribute in the
          <service> element above.
        -->
        <behavior name="metadataAndDebug">
          <serviceMetadata 
            httpGetEnabled="true" 
            httpGetUrl=""
          />
          <!-- 
            Step 3. Add a <serviceDebug> element and 
            modify the various attributes that suit your 
            scenario.
          -->
          <serviceDebug 
            httpHelpPageEnabled="true" 
            includeExceptionDetailInFaults="true"
          />
        </behavior>
      </serviceBehaviors>
    </behaviors>
  </system.serviceModel>
</configuration>

注解

IncludeExceptionDetailInFaults 属性设置为 true ,以指示 WCF 在 SOAP 错误中将托管异常信息返回给客户端以简化调试。Set the IncludeExceptionDetailInFaults property to true to instruct WCF to return managed exception information to the client in SOAP faults to ease debugging.

注意

将托管异常信息返回给客户端可能存在安全风险,因为异常详细信息会公开有关内部服务实现的信息,而未经授权的客户端可能会利用这些信息。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. 此外,虽然 ServiceDebugBehavior 属性也可以通过编程方式进行设置,但在部署时容易忘记禁用 IncludeExceptionDetailInFaultsIn 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:

  • 使用应用程序配置文件将 IncludeExceptionDetailInFaults 属性的值设置为 trueYou 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, see Specifying and Handling Faults in Contracts and Services.

适用于