Categories
.NET Apache ASP.NET

App_offline.htm en ASP.NET 2

Al ubicar el archivo App_offline.htm en el directorio raíz de una aplicación asp.net 2, el runtime de asp.net descargará automáticamente el dominio de la aplicación, desbloqueará los archivos o recursos que esten en uso por esa aplicación (Ej. los contenidos de App_Data) y todas las nuevas peticiones tendrán como respuesta el contenido de este archivo.

Relación entre un dominio de la aplicación y el servidor web

Esta característica hace que podamos hacer cambios en la aplicación o algunos recursos bloqueados, sin mostrar mensajes de error a los usuarios.

¿Qué hacer si uso Apache?

Para lograr un comportamiento similar con Apache, nos podemos apoyar en mod_rewrite y redirigir todas las peticiones a un archivo determinado, por ejemplo:

code:

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule .*$ offline.html [L]
</IfModule>

Estas lineas hacen que cualquier petición sea "procesada" por offline.html

3 replies on “App_offline.htm en ASP.NET 2”

Qué hace falta para que esta característica funcione?
Me refiero a lo siguiente:
Yo tengo siempre arriba el fichero APP_OFFLINE.HTM, pero lo tengo con el siguiente nombre:

code:

_APP_OFFLINE.HTM
 

Entonces solo tengo que quitarle el guión bajo del principio, y se consigue el efecto deseado.
Cuando terminio los cambios, vuelvo a ponerle el guión bajo, y vuelve a estar el sitio operativo.
Pero hay un handycap en todo esto.
Si queda vacío el contenido del sitio, dejando este fichero únicamente, deja de tener este comportamiento.
Ya no muestra el contenido de este fichero, aún estando ahí, sino un mensaje de error: Forbidden.
Por eso mi pregunta inicial.
Qué hace falta para que esta característica funcione?
Gracias Alex!

Hace tiempo que no veo nada de .NET, pero lo que imagino es que por lo menos debe haber un fichero default.aspx para que no te muestre ese error (o en todo caso si tienes acceso al IIS, modificar la configuración para que app_offline.htm sea reconocido como página principal -- no recuerdo la opción exacta).

Comments are closed.