asp.net app-offline.htm

ASP.NET 2.0-Cómo usar app_offline.htm



app-offline.htm (7)

He leído sobre el archivo app_offline.htm que se puede colocar en la raíz de una aplicación .NET 2.0 que, en esencia, cerrará la aplicación y desactivará el pedido de otras páginas.

He colocado el archivo en la raíz y mi sitio aún se carga. app_offline.htm a los documentos predeterminados en IIS y lo configuré en app_offline.htm y el sitio todavía se carga (aunque esto podría haber sido un problema de almacenamiento en caché)

De todos modos, ¿alguien ha tenido problemas al usar esto? ¿Estoy haciendo algo mal?


Asegúrese de que app_offline.htm esté en la raíz del directorio virtual o sitio web en IIS.


Asegúrese de que las extensiones de nombre de archivo estén visibles en el explorador y el nombre del archivo sea en realidad

app_offline.htm

no

app_offline.htm.htm


Asegúrese de que su archivo app_offline.htm tenga al menos 512 bytes de longitud. Un app_offline.htm de cero bytes no tendrá ningún efecto.

ACTUALIZACIÓN: Las versiones más recientes de ASP.NET/IIS pueden comportarse mejor que cuando escribí esto por primera vez.

ACTUALIZACIÓN 2: Si está utilizando ASP.NET MVC, agregue lo siguiente a web.config:

<?xml version="1.0"?> <configuration> <system.webServer> <modules runAllManagedModulesForAllRequests="true" /> </system.webServer> </configuration>


He utilizado el truco app_offline.htm extremadamente útil para cerrar / actualizar sitios en el pasado sin ningún problema.

Asegúrese de colocar el archivo "app_offline.htm" en la "raíz" del sitio web que configuró en IIS.

Asegúrese también de que el nombre del archivo sea el app_offline.htm : app_offline.htm

Aparte de eso, no debería haber otros cambios en IIS que deba realizar dado que el procesamiento de este archivo (con este nombre específico) es manejado por el tiempo de ejecución de ASP.NET en lugar de por el propio IIS (para IIS v6).

Tenga en cuenta, sin embargo, que aunque colocar este archivo en la raíz de su sitio forzará a la aplicación a "cerrar" y mostrar el contenido del archivo "app_offline.htm" en sí, cualquier solicitud existente seguirá sirviendo el sitio web real. para ellos Solo las solicitudes nuevas obtendrán el contenido de app_offline.htm.

Si sigues teniendo problemas, prueba los siguientes enlaces para obtener más información:

App_Offline.htm de Scott Gu

App_Offline.htm y trabajando en torno a la función "Errores amigables con IE"

¿App_offline.htm detendrá las solicitudes actuales o simplemente las nuevas?


Me encontré con un problema muy similar a la pregunta original que tardé un poco en resolver.

Solo en caso de que alguien más esté trabajando en una aplicación de MVC y encuentre su camino en este hilo, asegúrese de tener una asignación de comodín en el .Net aspnet_isapi.dll apropiado definido. Tan pronto como hice esto, mi app_offline.htm comenzó a comportarse como se esperaba.

Pasos de configuración de IIS 6

En Propiedades de la aplicación IIS, seleccione la pestaña Directorio virtual.

En Configuración de la aplicación, haga clic en el botón Configuración.

En los mapas de la aplicación Comodín, haga clic en el botón Insertar.

Ingrese C: / WINDOWS / Microsoft.NET / Framework64 / v4.0.30319 / aspnet_isapi.dll, haga clic en Aceptar.


Tenga en cuenta que esto se comporta igual en IIS 6 y 7.x, y .NET 2, 3 y 4.x.

También tenga en cuenta que cuando app_offline.htm está presente, IIS devolverá este código de estado http:

HTTP/1.1 503 Service Unavailable

Esto es todo por diseño. Esto permite que su equilibrador de carga (o lo que sea) vea que el servidor está fuera de línea.


Posible problema de permiso

Sé que esta publicación es bastante antigua, pero me encontré con un problema similar y mi archivo estaba escrito correctamente.

Originalmente creé el archivo app_offline.htm en otra ubicación y luego lo moví a la raíz de mi aplicación. Debido a mi configuración, tuve un problema de permisos.

El sitio web actuó como si no estuviera allí. Al crear el archivo dentro del directorio raíz en lugar de moverlo, solucionó mi problema. (O podría simplemente arreglar el permiso en propiedades-> seguridad)

Espero que ayude a alguien.