Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
O exemplo ServiceDebug demonstra como configurar as definições de comportamento de depuração do serviço. O exemplo é baseado no Guia de Início, que implementa o contrato de serviço ICalculator. Este exemplo define explicitamente o comportamento de depuração de serviço no arquivo de configuração. Também pode ser feito imperativamente em código.
Neste exemplo, o cliente é um aplicativo de console (.exe) e o serviço é hospedado pelo IIS (Serviços de Informações da Internet).
Observação
O procedimento de configuração e as instruções de compilação para este exemplo estão localizados no final deste tópico.
O arquivo Web.config para o servidor define o comportamento de depuração do serviço para habilitar a página de ajuda e o tratamento de exceções, conforme mostrado no exemplo a seguir.
<behaviors>
<serviceBehaviors>
<behavior name="CalculatorServiceBehavior">
<!-- WARNING: Setting includeExceptionDetailInFaults = "True" could result in leaking secured server information to the client.-->
<!-- Please set this to false when deploying -->
<serviceDebug includeExceptionDetailInFaults="True" httpHelpPageEnabled="True"/>
</behavior>
</serviceBehaviors>
</behaviors>
<serviceDebug> é o elemento de configuração que permite alterar as propriedades do comportamento de depuração do serviço. O usuário pode modificar esse comportamento para obter o seguinte:
Isso permite que o serviço retorne qualquer exceção lançada pelo código do aplicativo, mesmo que a exceção não seja declarada usando o FaultContractAttribute. Isso é feito definindo
includeExceptionDetailInFaultscomotrue. Essa configuração é útil ao depurar casos em que o servidor está lançando uma exceção inesperada.Importante
Não é seguro ativar essa configuração em um ambiente de produção. Uma exceção de servidor inesperada pode ter algumas informações que não se destinam ao cliente e, portanto, a configuração
includeExceptionDetailsInFaultsparatruepode resultar em um vazamento de informações.O <serviceDebug> também permite que um usuário habilite ou desabilite a página de ajuda. Cada serviço pode, opcionalmente, expor uma página de ajuda que contém informações sobre o serviço, incluindo o ponto de acesso para obter o documento WSDL do serviço. Isso pode ser ativado definindo
httpHelpPageEnabledcomotrue. Isso permite que a página de ajuda seja retornada para uma solicitação GET para o endereço base do serviço. Você pode alterar esse endereço definindo outro atributohttpHelpPageUrl. Você pode tornar isso seguro usando HTTPS em vez de HTTP. Isso pode ser feito definindohttpsHelpPageEnabledehttpsHelpPageUrl.
Quando você executa o exemplo, as solicitações de operação e as respostas são exibidas na janela do console do cliente. As três primeiras operações (Adicionar, Subtrair e Multiplicar) devem ser bem-sucedidas. A última operação ("dividir") falha com uma divisão por exceção zero.
Para configurar, compilar e executar o exemplo
Verifique se você executou o procedimento de instalação do One-Time para os exemplos do Windows Communication Foundation.
Para criar a edição C# ou Visual Basic .NET da solução, siga as instruções em Criando os exemplos do Windows Communication Foundation.
Para executar o exemplo em uma configuração de máquina única ou cruzada, siga as instruções em Executando os exemplos do Windows Communication Foundation.