Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Os exemplos do Windows Communication Foundation (WCF) podem ser criados usando o IDE do Visual Studio ou o comando msbuild da linha de comando. Os dois procedimentos são descritos neste artigo.
Observação
Antes de compilar ou executar qualquer um dos exemplos do WCF, verifique se você executou o procedimento de instalaçãoOne-Time para os exemplos do Windows Communication Foundation.
Para construir a amostra usando uma linha de comando
Abra o Prompt de Comando do Desenvolvedor do Visual Studio e navegue para o subdiretório específico do idioma no diretório onde você instalou o exemplo.
Digite
msbuildna linha de comando. Os arquivos do programa cliente são criados para client\bin e os arquivos do programa de serviço são criados para service\bin. Se o serviço for hospedado pelo IIS (Serviços de Informações da Internet), os arquivos do programa de serviço também serão copiados para o diretório servicemodelsamples e seu subdiretório \bin .
Observação
Você deve definir as ACLs em %systemdrive%\inetpub\wwwroot para conceder permissões de modificação à conta na qual você está executando. Caso contrário, alguns eventos pós-build falharão. Como alternativa, você pode deixar as ACLs como elas são e executar o prompt de comando do SDK como administrador.
Para criar o exemplo usando o Visual Studio
No menu Arquivo no Visual Studio, selecione Abrir>Projeto/Solução. Navegue até o subdiretório específico do idioma no diretório no qual você instalou o exemplo e clique duas vezes no ícone de arquivo .sln para abrir a solução no Visual Studio.
No menu Compilar , selecione Recompilar solução.
Os arquivos do programa cliente são criados para client\bin e os arquivos do programa de serviço são criados para service\bin. Se o serviço estiver hospedado no IIS, os arquivos do programa de serviço também serão copiados para o diretório servicemodelsamples e seu subdiretório \bin .
Observação
Você deve definir as ACLs em %systemdrive%\inetpub\wwwroot para conceder permissões de modificação para a conta na qual você está executando. Caso contrário, alguns eventos pós-build falharão. Como alternativa, você pode deixar as ACLs como elas são e executar o prompt de comando do SDK ou o Visual Studio como administrador. Algumas ações do Visual Studio (como anexar um depurador ao ASP.NET processo de trabalho) também exigem privilégios administrativos.
Configurar arquivos e scripts em lote
Os arquivos e os scripts em lote do Setup.exe e do Cleanup.exe devem ser executados no Prompt de Comando do Desenvolvedor para Visual Studio. Vários arquivos de configuração e limpeza executam tarefas que exigem privilégios administrativos e devem ser iniciadas com privilégios de administrador.
Informações importantes de segurança sobre pontos de extremidade de metadados
Para evitar a divulgação não intencional de metadados de serviço potencialmente confidenciais, a configuração padrão dos serviços do WCF (Windows Communication Foundation) desabilita a publicação de metadados. Esse comportamento é seguro por padrão, mas também significa que você não pode usar uma ferramenta de importação de metadados (como Svcutil.exe) para gerar o código do cliente necessário para chamar o serviço, a menos que o comportamento de publicação de metadados do serviço esteja explicitamente habilitado na configuração. Para facilitar a experimentação com os exemplos, quase todos os exemplos expõem um ponto de extremidade de publicação de metadados não protegido. Esses pontos de extremidade estão potencialmente disponíveis para consumidores anônimos não autenticados e devem ser tomados cuidados antes de implantar esses pontos de extremidade para garantir que a divulgação pública dos metadados de um serviço seja apropriada. Para obter mais informações sobre como publicar metadados do serviço, consulte o exemplo de Comportamento de Publicação de Metadados . Confira o exemplo de Ponto de extremidade de metadados seguros personalizados para ver um exemplo que protege um ponto de extremidade de metadados.
Tratamento de exceção
De modo geral, esses exemplos não incluem tratamento de exceção para manter o código focado no assunto da amostra. Para obter mais informações sobre o tratamento de exceções, consulte o exemplo de Exceções Esperadas .
Regenerando Clientes e Configuração com o Svcutil
Você pode usar a ServiceModel Metadata Utility Tool (Svcutil.exe) para regenerar o código do cliente e a configuração para a maioria dos exemplos. Alguns exemplos exigem configuração editada manualmente. Por exemplo, se você usar Svcutil.exe para regenerar a configuração de um exemplo que usa credenciais de certificado do cliente, especifique manualmente as credenciais configuradas anteriormente. Alguns exemplos usam opções de Svcutil.exe específicas para afetar o código gerado, essas opções são especificadas nos tópicos de exemplo específicos.
Para regenerar o cliente e os arquivos de configuração
Abra um prompt de comando do SDK e navegue até o subdiretório específico do idioma no local do diretório em que você instalou o exemplo.
Se o serviço for um tipo hospedado na Web, use o comando a seguir.
svcutil.exe /n:"http://Microsoft.ServiceModel.Samples,Microsoft.ServiceModel.Samples" http://localhost/servicemodelsamples/service.svc/mex /out:generatedClient.csSe o serviço for do tipo auto-hospedado, digite o seguinte comando.
svcutil.exe /n:"http://Microsoft.ServiceModel.Samples,Microsoft.ServiceModel.Samples" http://localhost:8000/servicemodelsamples/service.svc/mex /out:generatedClient.csSubstitua
http://localhost:8000/ServiceModelSamples/service.svc/mexpelo endereço do ponto de extremidade MEX do serviço auto-hospedado.Para gerar o cliente em um tipo do Visual Basic, use o comando a seguir.
svcutil.exe /n:"http://Microsoft.ServiceModel.Samples,Microsoft.ServiceModel.Samples" http://localhost/servicemodelsamples/service.svc/mex /l:vb /out:generatedClient.vbSe o serviço for um tipo auto-hospedado, use o comando a seguir.
svcutil.exe /n:"http://Microsoft.ServiceModel.Samples,Microsoft.ServiceModel.Samples" http://localhost:8000/servicemodelsamples/service.svc/mex /l:vb /out:generatedClient.vbObservação
Para ignorar a geração da configuração do cliente, adicione a opção /noConfig .