¿Hay alguna manera de hacer que las imágenes se muestren con ASP.NET y app_offline.htm?
Pregunta
Cuando se utiliza la función app_offline.htm de ASP.NET, solo permite html, pero no imágenes.¿Hay alguna manera de hacer que se muestren las imágenes? sin tener que dirigirlos a una URL diferente en otro sitio?
Solución
Sí, simplemente no puede provenir del sitio que tiene el archivo app_offline.htm.La imagen tendría que estar alojada en otro lugar.
Otros consejos
Otra solución es incrustar la imagen dentro de la página app_offline.htm usando un URI de datos.Actualmente existe un amplio apoyo para esto; consulte lo siguiente para obtener detalles completos.http://en.wikipedia.org/wiki/Data_URI_scheme
Si está dispuesto a trabajar un poco más, puede crear fácilmente una página personalizada para desconectar la aplicación.
Una posible solución:
- Cree DisplayOfflineMessage.aspx:Contiene una etiqueta para mostrar su mensaje sin conexión desde la Aplicación["OfflineMessage"].
- Administrar estado sin conexión.aspx:Contiene una casilla de verificación en línea/sin conexión, un área de texto para mensajes sin conexión y un botón de actualización.El botón de actualización establece dos variables a nivel de aplicación, una para el mensaje y una bandera que indica si la aplicación está en línea.(Esta página solo debe ser accesible para administradores)
Luego en Global.asax
public void Application_Start(object sender, EventArgs e)
{
Application["OfflineMessage"] = "This website is offline.";
Application["IsOffline"] = false;
}
public void Application_OnBeginRequest(object sender, EventArgs e)
{
bool offline = Convert.ToBoolean(Application["IsOffline"]);
if (offline)
{
// TODO: allow access to DisplayOfflineMessage.aspx and ManageOfflineStatus.aspx
// redirct requests to all other pages
Response.Redirect("~/DisplayOfflineMessage.aspx");
}
}
Si no admite navegadores anteriores a IE 8, siempre puede incrustar las imágenes utilizando un URI de datos.
Tengo una idea.
Puede crear una aplicación separada, que apunte a la misma carpeta, sin ASP.NET habilitado.Entonces, el acceso a las imágenes mediante esta aplicación no se verá afectado por el archivo app_offline.htm.O apunte esa aplicación directamente a la carpeta con contenido estático, no habrá ningún archivo app_offline.
Pero, por supuesto, debe asignar un nombre DNS separado para esta aplicación, algo así como static.somedomain.com.