ServiceDebugBehavior.IncludeExceptionDetailInFaults Propiedad
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Obtiene o establece un valor que especifica si se debe incluir la información de excepción administrada en el detalle de errores SOAP devueltos al cliente para la depuración.
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
Valor de propiedad
true
si Windows Communication Foundation (WCF) devuelve información de excepción administrada en los errores soap con fines de depuración de cliente; en caso contrario, false
. De manera predeterminada, es false
.
Ejemplos
El ejemplo de código siguiente muestra cómo utilizar un archivo de configuración para habilitar la característica de página de ayuda HTML y devolver información de excepción dentro de un error SOAP al cliente para la depuración. Este archivo de configuración muestra los siguientes pasos básicos para agregar compatibilidad con las características de ServiceDebugBehavior:
Dado que el ServiceDebugBehavior tipo es una System.ServiceModel.Description.IServiceBehavior implementación, el <elemento de servicio> que representa el tipo de servicio tiene un identificador de configuración de comportamiento de
behaviorConfiguration="metadataAndDebug"
.De nuevo, dado que el ServiceDebugBehavior tipo es una System.ServiceModel.Description.IServiceBehavior implementación, se agrega un <elemento de comportamiento> a una <sección serviceBehaviors> . Establezca el
name
atributo del <elemento de comportamiento> cuyo valor es el identificador delbehaviorConfiguration
atributo del <elemento de servicio> . En este caso, el valor esmetadataAndDebug
.Agregue un <elemento serviceDebug> con los distintos atributos establecidos en la configuración deseada. En este caso, los valores de atributo
httpHelpPageEnabled
yincludeExceptionDetailInFaults
se establecen entrue
.
<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>
Comentarios
Establezca la IncludeExceptionDetailInFaults propiedad true
en para indicar a WCF que devuelva información de excepción administrada al cliente en errores SOAP para facilitar la depuración.
Precaución
Devolver la información de excepción administrada a los clientes puede suponer un riesgo para la seguridad porque los datos de la excepción exponen información sobre la implementación de servicio interna que los clientes desautorizados podrían utilizar. Además, aunque también se pueden establecer las propiedades ServiceDebugBehavior mediante programación, puede ser fácil olvidarse de deshabilitar IncludeExceptionDetailInFaults en la implementación.
Debido a los problemas de seguridad implicados, se recomienda encarecidamente que:
Utilice un archivo de configuración de la aplicación para establecer el valor de la propiedad IncludeExceptionDetailInFaults en
true
.Hágalo solamente en escenarios de depuración controlados.
Para obtener más información, vea Especificar y controlar errores en contratos y servicios.