Publicação de serviço do WCF

A Publicação de Serviços do Windows Communication Foundation (WCF) ajuda você no progresso do ambiente de desenvolvimento inicial fornecido pelo Host de Serviço do WCF e pelo Cliente de Teste do WCF para realmente implantar o aplicativo em um ambiente de produção para fins de teste. Antes de se comprometer com um plano de implantação final, você pode usar a Publicação de Serviço do WCF (Windows Communication Foundation) para verificar se o serviço WCF é executado corretamente e está pronto para ser publicado. Você também pode optar por implantar suas bibliotecas de serviço WCF em vários locais de destino para teste.

Serviços e locais de destino com suporte

A Publicação de Serviços do WCF dá suporte à publicação de serviços WCF criados a partir do conjunto de modelos de biblioteca de serviços do WCF e seus modelos de item correspondentes, que incluem o seguinte:

  • Modelo da Biblioteca de Serviços do WCF com modelo de item.

  • Biblioteca de Serviços de Sindicalização.

Você pode encontrar esses modelos de serviço escolhendo Arquivo>Novo Projeto> [Visual Basic ou Visual C#] >WCF. Para outros modelos do WCF neste local (incluindo o Aplicativo de Serviço de Fluxo de Trabalho do WCF e o Aplicativo de Serviço do WCF), você pode publicar usando One-Click publicação para aplicativos Web.

O serviço pode ser publicado nos seguintes locais de destino.

  • IIS Local.

  • Sistema de Arquivos.

  • Site FTP.

Uso da Publicação de Serviço do WCF

Execute as seguintes etapas para implantar uma implementação de serviço:

  1. Abra o Visual Studio com privilégios elevados (clique com o botão direito do mouse no executável e escolha Executar como administrador para abri-lo). Se você estiver usando o IIS 7.0 ou posterior, verifique se instalou o componente "Compatibilidade de Configuração do IIS e IIS6" usando "Ativar ou desativar recursos do Windows" no Painel de Controle.

  2. Abra um projeto de serviço, selecione Criar>Publicar <Nome> do Projeto no menu principal ou clique com o botão direito do mouse no projeto no Gerenciador de Soluções e clique em Publicar.

  3. A janela Publicar é exibida. Clique no botão ... botão para especificar o local de destino no qual o serviço deve ser implantado. Você pode selecionar para implantar o aplicativo no IIS local, sistema de arquivos ou site FTP. Se estiver implantando o aplicativo no IIS local, você poderá selecionar seu site e criar seu aplicativo Web sob ele, clicando no ícone Criar Novo Aplicativo Web no canto superior direito.

  4. Depois de clicar em Publicar na janela principal, o Visual Studio implanta o aplicativo no local de destino especificado e copia os arquivos Web.config, .svc e assembly para o diretório de destino. . O nome de .svc será "ProjectName.ServiceName.svc". Depois que o serviço for publicado com êxito, você poderá encontrar um hotlink na janela Saída do Visual Studio, que é semelhante a "Conectando-se a http://localhost/WebApplicationFolderName...". Você pode pressionar CTRL e clicar no link para abrir uma página do navegador dentro do Visual Studio para exibir a estrutura do diretório de serviço.

    Se você não puder navegar até o site, isso poderá ocorrer porque o navegador de diretório não está habilitado no IIS. Siga as dicas na seção "Coisas que você pode tentar" para habilitá-la. Como alternativa, você pode digitar http://localhost/WebApplicationFolderName/ProjectName.ServiceName.svc diretamente para exibir sua página de serviço.

Você pode usar Publicar para especificar se deseja copiar o assembly, a configuração e o arquivo .svc para todos os serviços definidos no projeto para o local de destino e substituir os arquivos existentes no destino.

Se você optar por implantar seu aplicativo no IIS local, poderá encontrar erros relacionados à configuração do IIS. Verifique se o IIS está instalado corretamente. Você pode inserir http://localhost na barra de endereços do navegador e verificar se a página padrão do IIS é exibida. Em alguns casos, os problemas também podem ser causados pelo registro inadequado de ASP.NET ou WCF no IIS. Você pode abrir o Prompt de Comando do Desenvolvedor para Visual Studio e executar o comando aspnet_regiis.exe -ir para corrigir ASP.NET problemas de registro ou executar o comando ServiceModelReg.exe -ia para corrigir problemas de registro do WCF.

Arquivos gerados para publicação

Antes que uma biblioteca de serviços do WCF possa ser hospedada na Web, os seguintes arquivos são gerados pela ferramenta: arquivos de assembly, Web.config arquivo e arquivo .svc. Todos os arquivos são copiados para o local de destino. Em seguida, o serviço é publicado.

Arquivos de assembly

Quando você publica um serviço WCF usando essa ferramenta, o serviço é criado automaticamente primeiro e os arquivos de assembly são gerados no projeto de serviço após a criação.

. Arquivo SVC

A operação de publicação gera um arquivo *.svc para cada serviço WCF, independentemente de o arquivo existir ou não, para garantir a validade da versão. Há dois tipos diferentes de arquivos svc: um para Biblioteca de Serviços do WCF e Biblioteca de Serviços de Sindicalização e outro para Biblioteca de Serviços Sequencial e de Fluxo de Trabalho da Máquina de Estado. O arquivo *.svc gerado é copiado para a pasta raiz no local de destino.

Arquivo Web.Config

Sempre que um projeto de serviço é publicado em um local de destino específico, um arquivo Web.config é criado.

O arquivo de Web.config gerado inclui seções da Web que são úteis para hospedagem na Web e o conteúdo de App.config para a biblioteca de serviços do WCF com as seguintes alterações:

  • O endereço base é excluído.

  • As configurações no <diagnostics> elemento são excluídas para preservar as configurações de rastreamento da plataforma de destino.

Publicando serviços do WCF com bindings não HTTP no IIS

Se você estiver usando o IIS7.0 ou posterior, poderá publicar serviços do WCF com associações não HTTP para o IIS. Você precisa fazer algumas pré-configurações. Para obter mais informações, consulte os tópicos em Hospedagem no Serviço de Ativação de Processo do Windows.

Segurança

A publicação no IIS local requer privilégio de administrador, pois o IIS requer a execução na conta de Administrador. Se um usuário sem privilégio de administrador abrir a Publicação do Serviço WCF, o IIS não estará disponível como um local de destino. A publicação no Sistema de Arquivos ou no Site FTP funciona sem privilégios de administrador.

Consulte também