ServiceDebugBehavior.IncludeExceptionDetailInFaults Propriedade
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Um valor que especifica se são incluídas informações de exceção gerenciada no detalhe de falhas SOAP retornadas para o cliente para fins de depuração.
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 da propriedade
true
se Windows Communication Foundation (WCF) retornar informações de exceção gerenciadas nas falhas SOAP para fins de depuração de cliente; caso contrário, false
. O padrão é false
.
Exemplos
O exemplo de código a seguir mostra como usar um arquivo de configuração para habilitar o recurso de página de ajuda HTML e retornar informações de exceção dentro de uma falha SOAP de volta ao cliente para fins de depuração. Este arquivo de configuração mostra as seguintes etapas básicas para adicionar suporte aos ServiceDebugBehavior recursos:
Como o ServiceDebugBehavior tipo é uma System.ServiceModel.Description.IServiceBehavior implementação, o <elemento de serviço> que representa o tipo de serviço tem um identificador de configuração de comportamento de
behaviorConfiguration="metadataAndDebug"
.Novamente, como o ServiceDebugBehavior tipo é uma System.ServiceModel.Description.IServiceBehavior implementação, um <elemento de comportamento> é adicionado a uma <seção serviceBehaviors> . Defina o
name
atributo do <elemento de comportamento> do qual o valor é o identificador dobehaviorConfiguration
atributo do <elemento de serviço> . Nesse caso, o valor émetadataAndDebug
.Adicione um <elemento serviceDebug> com os vários atributos definidos para a configuração desejada. Nesse caso, os valores e
includeExceptionDetailInFaults
ohttpHelpPageEnabled
atributo são definidos comotrue
.
<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>
Comentários
Defina a propriedade para true
instruir o IncludeExceptionDetailInFaults WCF a retornar informações de exceção gerenciadas ao cliente em falhas SOAP para facilitar a depuração.
Cuidado
Retornar informações de exceção gerenciadas aos clientes pode ser um risco de segurança porque os detalhes da exceção expõem informações sobre a implementação de serviço interno que podem ser usadas por clientes não autorizados. Além disso, embora as ServiceDebugBehavior propriedades também possam ser definidas programaticamente, pode ser fácil esquecer de desabilitar IncludeExceptionDetailInFaults ao implantar.
Devido aos problemas de segurança envolvidos, é altamente recomendável que:
Você usa um arquivo de configuração de aplicativo para definir o valor da IncludeExceptionDetailInFaults propriedade como
true
.Você só faz isso em cenários de depuração controlados.
Para obter mais informações, consulte Especificando e tratando falhas em contratos e serviços.