Implantar um aplicativo Web ASP.NET usando a implantação do Xcopy

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

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

Resumo

A implantação de estilo Xcopy não é adequada para todas as situações. Para sites grandes e para aplicativos de linha de negócios, recomendamos que o site seja temporariamente colocado offline. Você quer fazer isso enquanto o novo conteúdo e os conjuntos de 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 você 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 um novo conteúdo em um aplicativo Web ASP.NET, o aplicativo pode ser reiniciado. Se você tiver aplicativos grandes e aplicativos complexos que têm requisitos de memória significativos, o consumo de memória poderá ser aumentado. Quando você reinicia o aplicativo, podem ocorrer problemas de suporte. Isso inclui a perda do estado da sessão do usuário.

O que é a implantação do Xcopy

A implantação do Xcopy descreve a implantação em ASP.NET em que você usa o recurso de arrastar e soltar no Microsoft Windows Explorer, ftp (protocolo de transferência de arquivo) ou o 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 host em sites hospedados.

As vantagens da implantação do Xcopy

Uma transferência de arquivo no estilo Xcopy simplifica a implantação e a manutenção de ASP.NET sites porque você não faz entradas do Registro e porque não registra nenhum componente. Os aplicativos Microsoft .NET são autodescritivos e normalmente não têm dependências. Com o controle de versão do assembly, você pode até mesmo copiar uma nova versão de uma DLL (biblioteca de link dinâmico) que o aplicativo usa sem parar o servidor da web.

As diferenças entre a implantação do Xcopy e o Projeto de Cópia no Visual Studio .NET

A implantação do Xcopy não exige que você instale nenhum software especial no computador de desenvolvimento ou no servidor Web. O método Copy Project do Visual Studio .NET requer que você instale o Microsoft FrontPage Server Extensions (FPSE) 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 usar a opção /d no Xcopy comando para especificar a data, da seguinte maneira:

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

Definir o diretório virtual como um aplicativo do IIS

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

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

Resoluçã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 arquivo Xcopy. Esses casos incluem os seguintes:

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

  • Interoperabilidade com modelo de objeto componente (COM). Se o aplicativo ASP.NET usar quaisquer componentes COM por meio da interoperabilidade COM, você deverá registrar esses componentes COM com o COM+ Services.

  • 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 System.EnterpriseServices.ServicedComponent classe).

Referências