有没有办法让ASP.NET和app_offline.htm显示图像?

时间:2008-08-28 16:20:19

标签: asp.net iis-6

使用ASP.NET的app_offline.htm功能时,它只允许使用html,但不允许使用图像。有没有办法让图像显示而不必将它们指向另一个网站上的其他网址

5 个答案:

答案 0 :(得分:12)

是的,它不能来自具有app_offline.htm文件的网站。图像必须在其他地方托管。

答案 1 :(得分:11)

另一种解决方案是使用数据URI将图像嵌入app_offline.htm页面。这些天有广泛支持 - 有关详细信息,请参阅以下内容 - http://en.wikipedia.org/wiki/Data_URI_scheme

答案 2 :(得分:3)

如果您愿意再做一些工作,可以轻松创建自定义页面以使应用程序脱机。

一种可能的解决方案:

  • 创建DisplayOfflineMessage.aspx:包含标签以显示来自Application [“OfflineMessage”]的离线消息。
  • ManageOfflineStatus.aspx:包含离线/在线复选框,textarea用于离线消息和更新按钮。更新按钮设置两个应用程序级别变量,一个用于消息,另一个标志指示应用程序是否在线。 (此页面只能由管理员访问)

然后在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");
     }
 }

答案 3 :(得分:3)

如果您不支持IE 8之前的浏览器,则始终可以使用数据URI嵌入图像。

http://css-tricks.com/data-uris/

答案 4 :(得分:2)

我有个主意。

您可以创建单独的应用程序,指向同一文件夹,但不启用ASP.NET。然后,app_offline.htm文件不会影响此应用程序访问图像。 或者,将该应用程序指向具有静态内容的文件夹,不会有任何app_offline文件。

但是,当然,您需要为此应用程序分配单独的DNS名称,类型为static.somedomain.com。

相关问题