Partilhar via


CallbackDebugBehavior.IncludeExceptionDetailInFaults Propriedade

Definição

Obtém ou define um valor que controla se os objetos de retorno de chamada do cliente retornam informações de exceção gerenciada em falhas SOAP para o serviç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

Boolean

true se o WCF retornar informações de exceção de retorno de chamada de cliente gerenciado nas falhas SOAP para fins de depuração de serviço na comunicação duplex; caso contrário, false. O padrão é false.

Exemplos

O exemplo de código a seguir mostra um arquivo de configuração do cliente que instrui o WCF a retornar informações de exceção gerenciadas de um objeto de retorno de chamada do cliente em mensagens 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>

Comentários

Defina a IncludeExceptionDetailInFaults propriedade como true de um arquivo de configuração de aplicativo ou programaticamente para habilitar o fluxo de informações de exceção gerenciadas em um objeto de retorno de chamada do cliente de volta para o serviço para fins de depuração.

Cuidado

Retornar informações de exceção gerenciadas aos serviços pode ser um risco de segurança porque os detalhes da exceção expõem informações sobre a implementação interna do cliente que podem ser usadas por serviços não autorizados. Além disso, embora as CallbackDebugBehavior 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 controlada.

Para obter mais informações sobre os problemas de segurança relacionados a informações de exceção gerenciadas, consulte Especificando e tratando falhas em contratos e serviços.

Para habilitar ou desabilitar um recurso de CallbackDebugBehavior usando um arquivo de configuração

  1. Adicione um behaviorConfiguration atributo ao elemento cliente <endpoint> para seu aplicativo cliente WCF. O CallbackDebugBehavior comportamento é um comportamento de ponto de extremidade. Os comportamentos de ponto de extremidade são configurados em <endpoint> elementos; os comportamentos de serviço são configurados em <elementos de serviço> .

  2. Adicione ou crie uma <seção endpointBehaviors> e adicione um <elemento de comportamento> a ele com o nome que corresponde ao behaviorConfiguration valor do atributo da etapa 1. Comportamentos de ponto de extremidade são adicionados para uso em um elemento cliente <endpoint> usando um <elemento endpointBehaviors> .

  3. Adicione um <elemento callbackDebug> ao <elemento de comportamento> da etapa 2 e habilite ou desabilite as várias propriedades apropriadas ao seu cenário.

Para obter um exemplo específico, consulte a seção Exemplo. Você também pode definir os valores desse atributo usando o <elemento callbackDebug> em um arquivo de configuração de aplicativo cliente.

Aplica-se a