2009-05-26 35 views
13

He desarrollado mi primera aplicación web que, sorprendentemente, se está volviendo muy popular.¿Poner un sitio web en modo de mantenimiento?

Como el sitio web ahora está activo, me cuesta hacer algunos cambios, por miedo a que algunas personas sigan conectadas y estén usando la aplicación.

Deseo evitar tener una instancia duplicada de la aplicación web para la prueba.

¿Hay alguna manera de poner el sitio web en 'modo de mantenimiento' con solo yo teniendo acceso a él? Como redirigir a una página con cierta información, diciéndole que está en modo de mantenimiento.

Gracias. :-)

Respuesta

22

puede simplemente soltar un archivo llamado app_offline.htm en la raíz de su sitio web y ASP.NET automáticamente le permitirá dirigir todo el tráfico a la página. Este archivo puede contener cualquier HTML que desee que indique que su sitio está inactivo por un período breve debido al mantenimiento.

Para obtener más información, puede leer App_Offline.htm and working around the "IE Friendly Errors" feature:

La forma app_offline.htm funciona es que colocar este archivo en la raíz de la aplicación . Cuando ASP.NET lo ve, cerrará el dominio de aplicación para la aplicación (y no lo reiniciará para las solicitudes ) y en su lugar devolverá el contenido del archivo app_offline.htm en respuesta a todas las nuevas dinámicas solicitudes para la aplicación. Cuando haya terminado de actualizar el sitio, solo elimine el archivo y volverá en línea.

0

¿Qué versión de ASP.NET? Estoy seguro de que hay un millón de maneras más elegantes de hacerlo, pero puede cambiar el Documento predeterminado en IIS para redirigir a Maint.html (o similar).

6

No existe tal funcionalidad incorporada en ASP.NET excepto app_offline.htm que no se ajusta a sus necesidades porque incluso se le denegará el acceso al sitio. Tienes que construirlo por tu cuenta, pero esto se hace mejor en el nivel de enrutadores y equilibradores de carga que en el nivel de aplicación. Por supuesto, esto dependerá de su arquitectura de red.

31

Deseo evitar tener un duplicado instancia de la aplicación web para pruebas.

Ese es su problema allí. Para cualquier cosa que no sean los sitios más triviales, debe tener una instancia de transición o desarrollo. Debería utilizar el control de fuente y tener una secuencia de comandos para actualizar la instancia principal.

+0

muy buen punto. Algo tendré que considerar eso. Este proyecto realmente me ha llevado a algunos aspectos diferentes. :-) – janhartmann

+0

+1 @jskulski. No creo que este punto pueda enfatizarse lo suficiente. Debe tener al menos un entorno de escenario/UAT que coincida con su entorno de producción tanto como sea posible. Comete tus errores allí en lugar de producción. Aún mejor tener un entorno de desarrollo y guiar sus cambios desde allí hasta el escenario. Eso le permite detectar los errores de despliegue y permite un despliegue de producción sin problemas. – wcm

+0

Esta será mi solución, será mejor que investigue el control de la fuente. Nunca lo he usado antes. ¡Gracias por apuntarme en una nueva dirección! Si hay algo que debo leer sobre el control de la fuente, me gustaría que compartieras la información. :-) – janhartmann

2

Además de construir una réplica de desarrollo de su sitio web para crear parches y correcciones, ¿no podría simplemente anunciar el cierre de un sitio para mantenimiento con varios días de anticipación? No soy un programador web, pero es posible que desee ver lo que Hattrick, una popular administración de fútbol en línea, hace para mantener su sitio.Utilizan un sistema de notificación en la página principal, después del inicio de sesión de los usuarios, que anuncia cuándo tendrá lugar el mantenimiento (generalmente tarde en la noche en Europa, donde se encuentra una gran parte de los jugadores y todos los desarrolladores) y cierran el sitio web por un par de horas. Cuando eliminan el sitio, publican una página, utilizando el mismo estilo que el resto del sitio, y proporcionan una estimación de cuándo estará operativo nuevamente. Simple, elegante, y cuando se combina con la larga advertencia parece hacer un buen trabajo para aplacar a la base de usuarios.

Bríndeles a los usuarios una pista larga de que el mantenimiento planificado está programado para que tenga lugar y déles una idea de lo que es y la mayoría de las personas podrán acomodar el tiempo de inactividad. Nada es más frustrante que ir a una aplicación web que funcionaba hace 10-20 minutos para encontrarla de repente no disponible y sin mantenimiento.

Cuestiones relacionadas