Procedimento de configuração único para exemplos do Windows Communication Foundation

A maioria dos exemplos do WCF (Windows Communication Foundation) é hospedada no IIS (Serviços de Informações da Internet) e executada em um diretório virtual comum. Este procedimento de configuração única cria uma pasta no disco e também adiciona um diretório virtual ao IIS chamado ServiceModelSamples.

O diretório virtual ServiceModelSamples é usado para criar e executar todos os exemplos que usam um serviço hospedado pelo IIS. Esse é o único diretório virtual necessário para executar os exemplos. A criação de um exemplo substituirá qualquer serviço implantado anteriormente nesse diretório virtual. Além disso, somente o exemplo criado mais recentemente será implementado e estará disponível no diretório.

Observação

  • É necessário executar todos os comandos com uma conta de administrador local. No caso do Windows 7, do Windows Vista ou do Windows Server 2008 R2, também é necessário executar o prompt de comando com privilégios elevados. Para fazer isso, clique com o botão direito do mouse no ícone do prompt de comando e selecione Executar como administrador.
  • Todos os comandos neste artigo devem ser executados em um prompt de comando com as configurações de caminho apropriadas. A maneira mais fácil de garantir isso é usar o Prompt de Comando do Desenvolvedor para Visual Studio.

Procedimento de configuração única para exemplos do WCF

  1. Verifique se o ASP.NET está configurado. Para saber como configurar o ASP.NET, confira Instruções de hospedagem do Serviços de Informações da Internet.

  2. Certifique-se de que o .NET Framework 4 ou mais recente esteja instalado. Pesquise a v4.0 (ou mais recente) no seguinte diretório: \Windows\Microsoft.NET\Framework

  3. Verifique se você tem o Visual Studio 2012 ou mais recente instalado ou se o sistema operacional é o Windows Server 2008 SP2 ou mais recente.

  4. Execute os seguintes comandos. Para saber por que esses comandos devem ser executados, confira Falhas do serviço hospedado IIS.

    Aviso

    Se o IIS for reinstalado, os comandos a seguir precisarão ser executados novamente.

    "%WINDIR%\Microsoft.Net\Framework\v4.0.30319\aspnet_regiis" –i –enable
    "%WINDIR%\Microsoft.Net\Framework\v4.0.30319\ServiceModelReg.exe" -r
    

    Aviso

    A execução do comando aspnet_regiis –i –enable fará com que o Pool de Aplicativos Padrão seja executado usando o .NET Framework 4, o que pode gerar problemas de incompatibilidade para outros aplicativos no mesmo computador.

  5. Siga as Instruções do firewall para habilitar as portas usadas pelos exemplos.

  6. Execute o arquivo em lote Setupvroot.bat. As seguintes etapas são executadas:

    • Um diretório virtual chamado ServiceModelSamples é criado no IIS.

    • Os novos diretórios de disco %SystemDrive%\Inetpub\wwwroot\ServiceModelSamples e %SystemDrive%\Inetpub\wwwroot\ServiceModelSamples\bin são criados.

    Para configurar esses diretórios manualmente, confira as Instruções de configuração do diretório virtual. Para reverter todas as alterações feitas nesta etapa, execute o cleanupvroot.bat depois de usar os exemplos.

    Observação

    Este procedimento deve ser executado somente uma vez em um computador, a menos que você execute cleanupvroot.bat.

  7. É necessário conceder permissão para modificar %SystemDrive%\inetpub\wwwroot à conta em que os exemplos e o usuário do Serviço de Rede estão sendo compilados. Durante a compilação, alguns exemplos hospedados na Web podem tentar copiar os binários compilados para o local mencionado anteriormente e, se você não tiver definido as permissões apropriadas, a compilação será interrompida. Como alternativa, é possível manter as permissões como estão e executar o prompt de comando do SDK ou o prompt de comando do Visual Studio (2012) como administrador ou compilar os exemplos no Visual Studio 2012, também como administrador.

    Observação

    Se esta etapa não for concluída, todos os exemplos hospedados no IIS falharão durante a compilação. Certifique-se de definir as permissões corretamente ou execute o prompt de comando do SDK e o prompt de comando do Visual Studio como administrador.

  8. Crie um diretório C:\logs no computador porque alguns exemplos podem estar esperando por ele. Certifique-se de que a conta apropriada tenha acesso de gravação concedido para esta pasta. Para Windows 7, Windows Vista e Windows Server 2008 R2, esta conta é Serviço de Rede. Para o Windows Server 2008, a conta é “Autoridade NT\Serviço de Rede”. Para Windows XP e Windows Server 2003, a conta é “ASPNET”.

  9. Execute o arquivo Setupcerttool.bat. Esse script executa as seguintes ações:

    • Cria a ferramenta FindPrivateKey.

    • Cria um diretório chamado %ProgramFiles%\ServiceModelSampleTools.

    • Copia a nova ferramenta FindPrivateKey para este diretório.

    Essa ferramenta é exigida por exemplos que usam certificados e são hospedados no IIS.

    Observação

    Por motivos de segurança, lembre-se de remover a definição do diretório virtual e as permissões concedidas nas etapas de configuração acima executando o arquivo em lote cleanupvroot.bat depois de trabalhar com os exemplos.

  10. Os exemplos auto-hospedados (não hospedados no IIS) exigem permissão a fim de registrar endereços HTTP no computador para escuta. A permissão para uma reserva de namespace HTTP vem da conta de usuário usada para executar o exemplo. Por padrão, as contas de administrador têm permissão para registrar qualquer endereço HTTP. As contas que não são de administrador devem receber permissão para os namespaces HTTP usados pelos exemplos. Para obter mais informações sobre como configurar reservas de namespace, confira Configurando HTTP e HTTPS.

  11. Alguns exemplos exigem Enfileiramento de Mensagens. Confira a Instalação do MSMQ (Enfileiramento de Mensagens) para obter instruções de instalação.

    Observação

    Certifique-se de iniciar o serviço MSMQ antes de executar quaisquer exemplos que exijam o Enfileiramento de Mensagens.

  12. Alguns exemplos exigem certificados. Confira Instruções de instalação do certificado de servidor dos IIS (Serviços de Informações da Internet).