Limitações na depuração do WCF

Existem três maneiras que você pode começar a depuração de um serviço WCF:

  • Depuração de um processo de cliente que chama um serviço.As etapas de depurador no serviço.O serviço não precisa ser na mesma solução como seu aplicativo cliente.

  • Depuração de um processo de cliente faz uma solicitação para um serviço.O serviço deve ser parte da solução.

  • Usar Attach to Process para anexar a um serviço que está sendo executado.Depuração começa dentro do serviço.

Este tópico descreve as limitações desses cenários.

Limitações de depuração em um serviço

Para entrar em um serviço de aplicativos de cliente que você está depurando, as seguintes condições devem ser atendidas:

  • O cliente deve chamar o serviço usando um objeto de cliente síncrona.

  • A operação de contrato não pode ser unidirecional.

  • Se o servidor for assíncrono, é possível exibir a pilha de chamadas completa durante a execução do código dentro do serviço.

  • A depuração deve ser ativada com o seguinte código no arquivo Web. config ou App. config:

    <system.web>
      <compilation debug="true" />
    </system.web>
    

    Este código só deve ser adicionado uma vez.Você pode adicionar esse código, editando o arquivo. config ou anexando-se ao serviço usando Attach to Process.Quando você usa Attach to Process um serviço, o código de depuração é automaticamente adicionado ao arquivo. config.Depois disso, você pode depurar e passar para o serviço sem precisar editar o arquivo. config.

Limitações na revisão de um serviço

Revisão de um serviço e para o cliente tem as mesmas limitações descritas para depuração em um serviço.Além disso, o depurador deve ser anexado ao cliente.Se você estiver depurando um cliente e uma etapa em um serviço, o depurador permanece anexado ao serviço.Isso é verdadeiro se você iniciou o cliente usando Start Debugging ou anexado ao cliente usando Attach to Process.Se você começou a depuração, anexando ao serviço, o depurador ainda não está conectado ao cliente.Nesse caso, se você tiver a etapa do serviço e para o cliente, você deve primeiro usar Attach to Process para anexar manualmente ao cliente.

Limitações no automático anexar a um serviço

Anexar automaticamente um serviço tem as seguintes limitações:

  • O serviço deve ser parte do Visual Studio solução você está depurando.

  • O serviço deve ser hospedado.Pode ser parte de um projeto de Site da Web (sistema de arquivos e HTTP), o projeto de aplicativo da Web (sistema de arquivos e HTTP) ou projeto WCF Service Library.Projetos de biblioteca de serviços WCF podem ser serviço bibliotecas ou bibliotecas de serviço do fluxo de trabalho.

  • O serviço deve ser chamado de um cliente WCF.

  • A depuração deve ser ativada com o seguinte código no arquivo Web. config ou App. config:

    <system.web>
      <compilation debug="true" />
    <system.web>
    

Hospedagem interna

A auto-hospedado serviço é um serviço do WCF não é executado dentro do IIS, o Host de serviço WCF, ou o ASP.NET servidor de desenvolvimento.Para obter informações sobre como depurar um serviço de hospedagem interna, consulte Como: Depurar um serviço WCF auto-hospedado.

Hospedagem interna

Para habilitar a depuração de ASP.NET aplicativos 3.0 ou 3.5, ASP.NET 3.0 ou 3.5 deve ser instalado antes de Visual Studio 2010 está instalado.Se Visual Studio 2010 está instalado antes de ASP.NET 3.0 ou 3.5, ocorrerá um erro quando você tenta depurar um ASP.NET aplicativo 3.0 ou 3.5.É a mensagem de erro, "não é possível entrar automaticamente no servidor." Para corrigir esse problema, use o Windows Painel de controle, programas e recursos para reparar o seu Visual Studio 2010 instalação.

Consulte também

Tarefas

Como: Depurar um serviço WCF auto-hospedado

Outros recursos

Depuração dos serviços WCF