CallbackDebugBehavior.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.
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
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
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> .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> .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.