Visão geral de Implantação do ASP.NET

Após desenvolver um site, você pode implantá-lo em um servidor Web para teste (um servidor de teste) ou em um servidor onde os usuários podem trabalhar com o site (um servidor de produção).Você tem várias opções para implantar um site da Web, que inclui pré-compilá-lo.

Esse tópico contém:

  • Cenários

  • Recursos de implantação

  • Segundo plano

  • Exemplos de código

Cenários

Após o desenvolvimento de um site no Visual Studio, você pode selecionar um destes métodos de implantação:

  • Copie os arquivos no site da Web para o servidor de destino usando ferramentas no Visual Studio.

  • Pré-compile o site e copie a saída para um local que você especificar, como um servidor de produção.

Voltar ao topo

Recursos

Visual Studio fornece as seguintes opções para implantar um site da Web:

  • A ferramenta Copiar Web Site, que copia o site atual diretamente para o servidor de destino.

  • O utilitário Publicar Web Site, que compila o site em um conjunto de arquivos executáveis.Você pode copiar os arquivos para o servidor de destino, usando qualquer método que você escolher.

    Observação:

    O utilitário Publicar Site da Web não está disponível no Microsoft Visual Web Developer Express Edition.

Voltar ao topo

Segundo plano

Visual Studio Fornece a ferramenta Copiar Web Site, que copia arquivos do site atual para o servidor de destino.Ele também fornece o utilitário Publicar Web Site, que compila o site em um conjunto de arquivos executáveis.Você pode copiar os arquivos para o servidor de destino, usando qualquer método que você escolher.

Observação:

Você também pode criar sites da Web usando um projeto de aplicativo da Web.Em um projeto de aplicativo da Web, todos os arquivos de classe são compilados em um único conjunto de módulos (assembly).Para obter mais informações, consulte Visão geral de Projetos de Aplicativos Web.

Além de criar seu site e depois implantá-lo em um servidor de destino, você também pode criar um site de protocolo FTP.Nesse caso, você criar e editar os arquivos diretamente no servidor de destino.Esta é uma maneira conveniente para trabalhar com um site da Web em um servidor hospedado.

Ferramenta Copiar Web Site

A ferramenta Copiar Web Site é como um utilitário de FTP.Você pode abrir uma pasta em um servidor de destino e em seguida, carregar e fazer o download de arquivos entre o site atual e o site de destino.A ferramenta Copiar Web Site também suporta um recurso de sincronização que examina os arquivos em dois sites e automaticamente assegura que os dois locais têm versões atualizadas dos arquivos.

Observação:

Se o servidor de destino for um servidor FTP, você pode abrir e editar os arquivos no servidor, criando um site FTP.Para obter mais informações, consulte Sites da Web Implantados por FTP.

A ferramenta Copiar Web Site oferece suporte aos seguintes recursos:

  • Você pode os arquivos de origem, inclusive os arquivos .aspx e os arquivos de classe, para o servidor de destino.Nesse cenário, as páginas da Web são compilados dinamicamente quando eles forem solicitados.

  • Você pode abrir e copiar arquivos de qualquer tipo de site que tem suporte no Visual Studio.Isso inclui Serviços de Informações da Internet (IIS) local, ISS Remoto, e sites FTP.O servidor de destino não requer as extensões de servidor do FrontPage.

  • A ferramenta de sincronização examina os arquivos em ambos os sites e assegura automaticamente que os dois locais tem versões atualizadas dos arquivos.

  • Antes de copiar os arquivos de aplicativo, a ferramenta Copiar Web Site coloca um arquivo denominado App_offline.htm no diretório raiz do site de destino.Enquanto o arquivo App_offline.htm existir, qualquer solicitação ao site será redirecionada para o arquivo.O arquivo exibe uma mensagem amigável que instrui os clientes que o site está sendo atualizado.Quando todos os arquivos do site forem copiados, a ferramenta Copiar Web Site exclui o arquivo App_offline.htm do site de destino.

Utilitário Publicar Web Site

O utilitário Publicar Site pré-compila o conteúdo do site da Web, incluindo páginas da Web (arquivos .aspx) e o código.Em seguida, ele copia a saída para um diretório ou local do servidor que você especificou.Você pode publicar diretamente como parte do processo de pré-compilação.Como alternativa, você pode pré-compilar localmente e, em seguida, copiar os arquivos você mesmo.O utilitário Publish Web Site compila o site e tira o código fonte dos arquivos, deixando somente arquivos stub para as páginas e assemblies compilados.Quando os usuários solicitam páginas, o ASP.NET preenche a requisição a partir dos assemblies pré-compilados.

Observação:

O utilitário Publicar Site da Web não está disponível no Microsoft Visual Web Developer Express Edition.

Projetos de aplicativos da Web

Como alternativa ao uso do utilitário de publicação de sites da Web, você pode criar sites da Web usando um projeto de aplicativo da Web.Em um projeto de aplicativo da Web, todos os arquivos de classe são compilados em um único conjunto de módulos (assembly).Somente esse conjunto de módulos (assembly) deve ser implantado, juntamente com os arquivos .aspx e .ascx e outros arquivos de conteúdo estáticos.(Esse modelo de projeto de aplicativo da Web lembra o modelo usado no Visual Studio .NET 2003). Nesse modelo, arquivos .aspx não são compilados até que eles sejam executados no navegador.Para obter mais informações sobre projetos de aplicativo da Web, consulte Visão geral de Projetos de Aplicativos Web.

Escolhendo uma ferramenta de implantação

Quando escolher a ferramenta Copiar Web Site e o utilitário Publicar Web Site depende de como você pretende usar e manter seu site.

Escolhendo a ferramenta Copy Web Site

Vantagens de usar ferramenta Copiar Web Site são as seguintes:

  • A implantação é uma simples questão de copiar arquivos de seu site para o computador de destino.

  • Você pode implantar para um computador de destino usando qualquer protocolo de conexão que é suportado pelo Visual Studio.Você pode copiar para uma pasta compartilhada em outro computador na rede.Você pode usar FTP para copiar para um servidor, ou usar protocolo HTTP para copiar em um servidor que ofereça suporte a Extensões de Servidor do FrontPage.

  • Você pode fazer alterações ou correção de erros nas páginas diretamente no servidor, se necessário.

  • Se você estiver trabalhando com um projeto onde arquivos são armazenados em um servidor central, você pode usar o recurso de sincronização para ter certeza que as versões local e remota dos arquivos estão sincronizadas.

Desvantagem de usar a ferramenta Copiar Web Site são:

  • O site será copiado tal como está.Portanto, se seus arquivos contiverem um erro de compilação, este não será descoberto até que alguém (talvez um usuário) execute a página que dispara o erro.

Escolhendo o utilitário Publish Web Site

Vantagens de usar utilitário Publicar Site são da seguinte maneira:

  • O processo de pré-compilação ajuda a localizar erros em tempo de compilação e erros potenciais no arquivo Web.config e em outros arquivos que não são os de código.

  • O código-fonte é removido do site da Web, opcionalmente, incluindo a marcação em arquivos da Web ASP.NET e controles de usuário.Isso fornece uma medida de proteção para a propriedade intelectual e torna mais difícil outras pessoas acessarem o código fonte do seu site.

  • Como as páginas no site são compiladas, não é necessário que elas sejam compiladas dinamicamente na primeira requisição.Isso pode reduzir o tempo de resposta inicial para uma página.(Quando páginas são dinamicamente compiladas, a saída é armazenada em cache para solicitações subsequentes.)

Desvantagens de usar utilitário Publicar Site são as seguintes:

  • Dependendo de quais opções de publicação você especifica, talvez seja necessário recompilar o site se você fizer alterações nele.Portanto, talvez não seja prático usar o utilitário Publicar Web Site enquanto você estiver desenvolvendo um site e alterando páginas com frequência.

  • O utilitário Publicar Site não consegue implantar o site compilado em um servidor remoto.Ele pode copiar somente para o computador local ou a outro computador na rede local.

    Observação:

    O utilitário Publicar Web Site substitui arquivos na pasta de destino, incluindo subpastas.Certifique-se que você publica em uma localidade onde você está seguro que o conteúdo existente possa ser excluído.

Usando a ferramenta Copiar Web Site

Você pode usar a ferramenta Copiar Web Site para mover arquivos de seu computador local para um servidor de teste ou para um servidor de produção.A ferramenta Copiar Web Site é especialmente útil em situações onde não é possível abrir arquivos do site remoto para editá-los.Você pode usar a ferramenta Copiar Web Site para copiar os arquivos para seu computador local, editá-los, e em seguida, copiá-los de volta para o site remoto.Você também pode usar a ferramenta para copiar arquivos de um servidor de teste para o servidor de produção quando você tiver terminado o desenvolvimento.

Observação:

Se você copiar um aplicativo que contém uma referência a um componente personalizado que é registrado no GAC, o componente não será copiado com o aplicativo.Para obter mais informações, consulte Como: Adicionar uma referência a um componente COM ou .NET em um site da Web.

Sites de origem e remotos

A ferramenta Copy Web Site copia arquivos entre um site de origem e um site remoto.Esses termos são usados para distinguir os dois sites com os quais a ferramenta está trabalhando.Os termos são usados com significados específicos:

  • Site de Origem O site de origem é o que você tem aberto no momento no Visual Studio.

  • Site remoto   O site remoto é o site para onde você quer copiar os arquivos.Um site remoto pode ser uma localidade em outro computador que você pode acessar usando as extensões do servidor do FrontPage ou FTP.Nesses casos, o site é literalmente remoto.Entretanto, o site remoto também pode ser outro site no seu próprio computador.Por exemplo, você pode publicar de um site do sistema de arquivos no seu computador para um site IIS local que também esteja em seu computador.Nesse caso, embora o site seja local para seu computador, ele é um site remoto para a ferramenta Copiar Web Site.

Observe que o site de origem não é necessariamente a fonte para a cópia.Você pode copiar a partir do site remoto para o site de origem.

Sincronizando sites

A sincronização examina os arquivos em sites locais e remotos e assegura que todos os arquivos nos dois locais estão atualizados.Por exemplo, se um arquivo no site remoto está mais atual que a versão do mesmo arquivo no site local, a sincronização dos arquivos copia o arquivo do site remoto para seu site local.

A ferramenta Copy Web Site não mescla arquivos que têm o mesmo nome mas conteúdo diferente.Nesse caso, a sincronização permite que você especifique qual versão de um arquivo que você deseja manter.

A sincronização se torna uma ferramenta bem-adequada para um ambiente de vários desenvolvedores onde os desenvolvedores mantém cópias do site em seus computadores locais.Desenvolvedores individuais podem copiar suas alterações mais recentes para um servidor remoto compartilhado;Ao mesmo tempo, eles podem atualizar seus computadores locais com arquivos alterados de outros desenvolvedores.Novos desenvolvedores em um projeto também podem rapidamente obter cópias de todos os arquivos para um site da Web.Para fazer isso, eles podem criar um site local no computador local e, em seguida, sincronizar com o site no servidor compartilhado.

Status do arquivo

Para sincronizar arquivos, a ferramenta Copy Web Site precisa de informações sobre o estado dos arquivos dos dois sites.Portanto, a ferramenta mantém informações que consistem de carimbos de data/hora dos arquivos além de informações adicionais necessárias para executar a sincronização.Por exemplo, a ferramenta mantém uma lista de quando os arquivos foram marcados, o que permite a ferramenta determinar informações como se um arquivo tivesse sido excluído.

Quando você se conecta a um site (ou atualiza), a ferramenta compara os carimbos de data/hora dos arquivos em ambos os sites e as informações que estão armazenadas para os dois sites.Em seguida, ele informa o estado de cada arquivo.A tabela a seguir mostra o status dos arquivos.

Status

Descrição

Inalterado

O arquivo não foi alterado desde a última vez que o arquivo foi copiado.

Alterado

O arquivo tem um carimbo de hora que é mais recente que o carimbo de hora pego quando o arquivo foi copiado pela última vez.

Novo

O arquivo foi adicionado desde a última vez que o site foi copiado.

Excluído

O arquivo foi removido desde a última vez que o site foi copiado.Se você selecionar Show Deleted Files na ferramenta Copy Web Site, uma entrada para o arquivo é exibida na janela.

Usando o utilitário Publicar Web Site

O Utilitário Publicar Site da Web permite que você publique seus sites da Web.Isso compila o site e copia a saída para um local que você especificar, como um servidor de produção.

Observação:

O utilitário Publicar Site da Web não está disponível no Visual Web Developer Express Edition.

A publicação realiza as seguintes tarefas:

  • Pré-compila as páginas, código fonte na pasta App_Code, e assim por diante, em uma saída executável.

  • Grava a saída executável para uma pasta de destino.

    Observação:

    Se você publicar um aplicativo que contém uma referência a um componente personalizado que é registrado no GAC, o componente não será publicado com o aplicativo.Para obter mais informações, consulte Como: Adicionar uma referência a um componente COM ou .NET em um site da Web.

Para obter mais informações, consulte ASP.NET Precompilation Overview.

Pré-compilação

A primeira etapa na publicação é para pré-compilar o site.Pré-compilação executa os mesmos processos de compilação que normalmente ocorre quando uma página é compilada dinamicamente quando for solicitado pela primeira vez em um navegador.O processo de pré-compilação produz conjuntos de módulos (assemblies) das páginas, que inclui tanto a marcação quanto o código.Ele também compila arquivos nas pastas App_Code, App_GlobalResources, App_LocalResources, e App_Themes.

Você pode compilar tanto páginas single-File ASP.NET quanto páginas code-behind.Para obter informações sobre esses dois modelos, consulte Modelo de código de página Web do ASP.NET.

A etapa de pré-compilação na publicação difere da compilação que ocorre quando você cria um site no Visual Studio enquanto o testa.O compilador compila o site, ou a página atual e qualquer um dos seus arquivos dependentes, e executa-o.O processo de criação é uma forma de teste e não produz saída que você possa implantar.Por outro lado, pré-compilação durante a publicação cria saída em uma pasta especificada que você pode implantar em um servidor de produção.

Escrevendo Saída Pré-Compilada

Quando o processo de pré-compilação for concluído, a saída resultante será gravada em uma pasta que você especificar.Você pode escrever a saída para qualquer pasta que seja acessível a você no sistema de arquivos, usando o protocolo FTP, ou por HTTP.Você deve ter permissões para ser capaz de gravar no site de destino apropriado.

Observação:

O processo de publicação implanta somente os arquivos nas pastas e subpastas do Web site.Ele não implante o arquivo Machine.config.Portanto, a configuração servidor Web destino pode ser diferentes da configuração em seu computador.Isso pode afetar o comportamento do aplicativo.

Você pode especificar uma pasta de destino em um servidor de teste ou servidor de produção, ou você pode escrever a saída para uma pasta no seu computador local.Se você especificar uma pasta em um servidor de produção, você pode pré-compilar e implantar em uma única etapa.Se você escolher gravar a saída em uma pasta que não faz parte de um site, você pode copiar a saída para o servidor em uma etapa separada.

Observação:

Se você abrir um site da Web pré-compilado usando Visual Studio, você não será capaz de construir o site da Web.Opções de construção serão desativadas.Para alterar um site publicado, edite os arquivos no site original, recompile o site e publique-o novamente.

A saída do processo de compilação inclui os módulos compilados para qualquer código ou páginas.Se você escolher a opção para permitir a atualização do site pré-compilado, qualquer classe code-behind para seus arquivos .aspx,.asmx, e .ashx é compilada em módulos (assemblies).Entretanto, os arquivos .aspx,.asmx, e.ashx são copiados como estiverem para a pasta de destino para que você possa fazer as alterações em seu layout após a implantação do site.Para sites pré-compilados que podem ser atualizados, o código em páginas de Arquivo Único não é compilado em um conjunto de módulos (assembly).Em vez disso, ele será implantado como código-fonte.

Arquivos estáticos não são compilados.Em vez disso, eles são copiados como estiverem para a pasta de saída.Arquivos estáticos incluem elementos gráficos, arquivos .htm ou .html, arquivos de texto, e assim por diante.

Se ocorrer um erro durante a pré-compilação, ele é relatado a você na janela Saída e na janela Lista de Erros.Erros durante a pré-compilação impedirão que o site seja compilado e publicado.

Voltar ao topo

Exemplos de código

Como: Copiar arquivos de site com a ferramenta Copy Web Site

Como: Pré-compila sites da Web do ASP.NET para implantação

Como: Assinar assemblies para sites da Web pré-compilados

Como: Criar conjuntos com versão atualizada para sites da Web pré-compilados

Como: Gerar Fixed Names with the ASP.NET Compilation ferramenta

Como: Configurar sites da Web publicados

Passo-a-passo: Publicando um site

Passo-a-passo: copiando um site usando a ferramenta Copy Web Site

Voltar ao topo

Consulte também

Conceitos

Visão geral de Projetos de Aplicativos Web

ASP.NET Precompilation Overview

Referência

Voltar ao topo