使用ASP.NET的app_offline.htm功能时,它只允许使用html,但不允许使用图像。有没有办法让图像显示而不必将它们指向另一个网站上的其他网址?
答案 0 :(得分:12)
是的,它不能来自具有app_offline.htm文件的网站。图像必须在其他地方托管。
答案 1 :(得分:11)
另一种解决方案是使用数据URI将图像嵌入app_offline.htm页面。这些天有广泛支持 - 有关详细信息,请参阅以下内容 - http://en.wikipedia.org/wiki/Data_URI_scheme
答案 2 :(得分:3)
如果您愿意再做一些工作,可以轻松创建自定义页面以使应用程序脱机。
一种可能的解决方案:
然后在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嵌入图像。
答案 4 :(得分:2)
我有个主意。
您可以创建单独的应用程序,指向同一文件夹,但不启用ASP.NET。然后,app_offline.htm文件不会影响此应用程序访问图像。 或者,将该应用程序指向具有静态内容的文件夹,不会有任何app_offline文件。
但是,当然,您需要为此应用程序分配单独的DNS名称,类型为static.somedomain.com。