Implementación de una aplicación web de ASP.NET mediante la implementación de Xcopy

En este artículo se describe cómo usar el comando MS-DOS Xcopy para implementar una aplicación web de Microsoft ASP.NET.

Versión original del producto:   ASP.NET
Número de KB original:   326355

Resumen

La implementación de estilo Xcopy no es adecuada para todas las situaciones. Para sitios web de gran tamaño y para aplicaciones de línea de negocio, se recomienda que el sitio se desconecte temporalmente. Quiere hacerlo mientras se implementan el nuevo contenido y los ensamblados de aplicación. Puede realizar este mantenimiento a una hora conveniente y programada. Para minimizar el tiempo de inactividad programado, siga estos pasos:

  1. Cree un nuevo directorio físico para la aplicación que desea actualizar. Copie todo el contenido nuevo en el nuevo directorio físico.

  2. Vuelva a configurar el directorio virtual de la aplicación para que apunte al nuevo directorio físico con el nuevo contenido.

    Nota

    Al implementar contenido nuevo en una aplicación web ASP.NET, la aplicación puede reiniciarse. Si tiene aplicaciones de gran tamaño y aplicaciones complejas que tienen requisitos de memoria significativos, es posible que aumente el consumo de memoria. Al reiniciar la aplicación, pueden producirse problemas de compatibilidad. Esto incluye la pérdida del estado de sesión del usuario.

¿Qué es la implementación de Xcopy?

La implementación de Xcopy describe la implementación en ASP.NET donde se usa la característica de arrastrar y colocar en el Explorador de Microsoft Windows, el protocolo de transferencia de archivos (FTP) o el comando DOS Xcopy para copiar archivos de una ubicación a otra. La aplicación ASP.NET no requiere modificaciones en el registro y no tiene requisitos de instalación especiales para la empresa host en sitios hospedados.

Las ventajas de la implementación de Xcopy

Una transferencia de archivos de estilo Xcopy simplifica la implementación y el mantenimiento de sitios de ASP.NET porque no se realizan entradas del Registro y porque no se registran componentes. Las aplicaciones .NET de Microsoft son autodescriptivas, normalmente sin dependencias. Con el control de versiones de ensamblado, incluso puede copiar una nueva copia de una biblioteca de vínculos dinámicos (DLL) que usa la aplicación sin detener el servidor web.

Diferencias entre la implementación de Xcopy y copiar Project en Visual Studio .NET

La implementación de Xcopy no requiere que instale ningún software especial en el equipo de desarrollo o en el servidor web. El método Project de copia de .NET Visual Studio requiere que instale Microsoft FrontPage Server Extensions (FPSE) en el servidor remoto. Xcopy también permite reemplazar solo los archivos editados más recientemente. Puede seleccionar manualmente los archivos para reemplazarlos, o bien puede usar el /d modificador en el Xcopy comando para especificar la fecha, como se indica a continuación:

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

Establecer el directorio virtual como una aplicación de IIS

Si aún no ha configurado el directorio de destino, debe configurarlo como una aplicación en Microsoft Internet Information Services (IIS) antes de transferir los archivos. Para configurar el directorio virtual, siga estos pasos:

  1. Haga clic en Inicio, seleccione Programas, Herramientas administrativasy, a continuación, haga clic en Administrador de servicios de Internet.
  2. En el panel izquierdo, haga clic con el botón derecho en el nombre del directorio virtual y, a continuación, haga clic en Propiedades.
  3. Asegúrese de que el nombre del sitio web o el nombre del directorio virtual aparecen en el cuadro Nombre de la aplicación en Application Configuración. Si no es así, haga clic en Crear.

Solución de problemas

En algunos casos, no puede completar la implementación de la aplicación web de ASP.NET a través de la transferencia de archivos de Xcopy solo. Estos casos incluyen los siguientes:

  • Ensamblados que requieren la instalación en la caché global de ensamblados (GAC). Si debe compartir cualquiera de los ensamblados que ASP.NET usa en varios dominios de aplicación, debe usar la utilidad Gacutil.exe para registrar esos ensamblados en la GAC. Debe anular el registro, reemplazar y volver a registrar ensamblados cada vez que implemente la aplicación.

  • Interoperabilidad del modelo de objetos de componente (COM). Si la aplicación ASP.NET usa cualquier componente COM a través de la interoperabilidad COM, debe registrar esos componentes COM con los servicios COM+.

  • Componentes con servicio. Microsoft recomienda usar la utilidad Regsvcs.exe para registrar las clases que usan servicios COM+ (que se derivan de la System.EnterpriseServices.ServicedComponent clase ).

Referencias