Implantar um aplicativo da web ASP.NET usando a implantação Xcopy

Este artigo descreve como usar o comando MS-DOS Xcopy para implantar um aplicativo da Web Microsoft ASP.NET.

Versão original do produto: ASP.NET
Número original do KB: 326355

Resumo

A implantação do estilo Xcopy não é adequada para todas as situações. Para grandes sites da Web e aplicativos de linha de negócios, recomendamos que o site seja temporariamente colocado off-line. Faça isso enquanto o novo conteúdo e os assemblies do aplicativo são implantados. Você pode fazer essa manutenção em um horário conveniente e agendado. Para minimizar o tempo de inatividade agendado, siga estas etapas:

  1. Crie um novo diretório físico para o aplicativo que deseja atualizar. Copie todo o novo conteúdo para o novo diretório físico.

  2. Reconfigure o diretório virtual do aplicativo para apontar para o novo diretório físico com o novo conteúdo.

    Observação

    Quando você implanta novo conteúdo em um aplicativo da Web ASP.NET, o aplicativo pode reiniciar. Se você tiver aplicativos grandes e aplicativos complexos com requisitos de memória significativos, o consumo de memória pode aumentar. Ao reiniciar o aplicativo, podem ocorrer problemas de capacidade de suporte. Isso inclui a perda do estado da sessão do usuário.

O que é implantação Xcopy?

A implantação Xcopy descreve a implantação no ASP.NET, onde você usa o recurso arrastar e soltar no Microsoft Windows Explorer, FTP (File Transfer Protocol) ou comando DOS Xcopy para copiar arquivos de um local para outro. O aplicativo ASP.NET não requer modificações no registro e não tem requisitos especiais de instalação para a empresa de host em sites hospedados.

As vantagens da implantação Xcopy

Uma transferência de arquivo no estilo Xcopy simplifica a implantação e a manutenção de sites ASP.NET porque você não faz entradas de registro e porque não registra componentes. Os aplicativos Microsoft .NET são autodescritivos, normalmente sem dependências. Com o controle de versão do assembly, você pode até mesmo fazer uma nova cópia de uma DLL (biblioteca de vínculo dinâmico) que o aplicativo usa sem interromper o servidor Web.

As diferenças entre a implantação Xcopy e Copiar Projeto no Visual Studio .NET

A implantação Xcopy não requer a instalação de nenhum software especial no computador de desenvolvimento ou no servidor Web. O método Copiar Projeto do Visual Studio .NET requer que você instale FPSE (Extensões de Servidor do FrontPage) da Microsoft no servidor remoto. O Xcopy também permite que você substitua apenas os arquivos editados mais recentemente. Você pode selecionar os arquivos manualmente para substituí-los ou pode usar o comutador /d no comando Xcopy para especificar a data, como segue:

xcopy source [destination] /D:m-d-y

Defina o diretório virtual como um aplicativo IIS

Se você ainda não configurou o diretório de destino, deverá configurá-lo como um aplicativo no Microsoft IIS (Serviços de Informações da Internet) antes de transferir os arquivos. Para definir o diretório virtual, execute as seguintes etapas:

  1. Clique em Iniciar, aponte para Programas, para Ferramentas Administrativas e clique em Gerenciador de Serviços de Internet.
  2. No painel esquerdo, clique com o botão direito no nome do seu diretório virtual e clique em Propriedades.
  3. Certifique-se de que o nome do site ou o nome do diretório virtual está listado na caixa Nome do Aplicativo em Configurações do Aplicativo. Caso não esteja, clique em Criar.

Solução de problemas

Em alguns casos, você não pode concluir a implantação do aplicativo Web ASP.NET apenas por meio da transferência de arquivos Xcopy. Esses casos incluem os seguintes:

  • Assemblies que exigem a instalação no GAC (Cache de Assembly Global). Se você precisar compartilhar qualquer um dos assemblies que o ASP.NET usa em vários domínios de aplicativo, use o utilitário Gacutil.exe para registrar esses assemblies no GAC. Você deve cancelar o registro, substituir e registrar novamente os assemblies cada vez que implantar o aplicativo.

  • Interoperabilidade COM (Component Object Model). Se o aplicativo ASP.NET usa qualquer componente COM por meio da interoperabilidade COM, você deve registrar esses componentes COM nos Serviços COM+.

  • Componentes atendidos. A Microsoft recomenda que você use o utilitário Regsvcs.exe para registrar todas as classes que usam serviços COM+ (que são derivados da classe System.EnterpriseServices.ServicedComponent).

Referências