使用 ASP.NET 的 app_offline.htm 功能时,它只允许 html,但不允许图像。有没有办法让图像显示而不必将它们指向另一个站点上的不同 url?
jasonlaflair
问问题
11498 次
5 回答
13
是的,它不能来自具有 app_offline.htm 文件的站点。该图像必须托管在其他地方。
于 2008-08-28T17:03:27.160 回答
12
另一种解决方案是使用数据 URI 将图像嵌入到 app_offline.htm 页面中。这些天有广泛的支持 - 请参阅以下内容以获取完整的详细信息 - http://en.wikipedia.org/wiki/Data_URI_scheme
于 2012-10-11T14:35:12.070 回答
5
如果您不支持 IE 8 之前的浏览器,您始终可以使用数据 URI 嵌入图像。
于 2014-06-19T14:20:18.667 回答
3
如果您愿意做更多的工作,您可以轻松创建自定义页面以使应用程序脱机。
一种可能的解决方案:
- 创建 DisplayOfflineMessage.aspx:包含标签以显示来自 Application["OfflineMessage"] 的离线消息。
- ManageOfflineStatus.aspx:包含一个离线/在线复选框、离线消息的文本区域和一个更新按钮。更新按钮设置两个应用程序级变量,一个用于消息,一个用于说明应用程序是否在线的标志。(这个页面应该只有管理员可以访问)
然后在 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");
}
}
于 2008-08-28T17:28:08.850 回答
2
我有个主意。
您可以创建单独的应用程序,指向同一个文件夹,而无需启用 ASP.NET。则此应用程序访问图像将不受 app_offline.htm 文件的影响。或者,将该应用程序直接指向具有静态内容的文件夹,不会有任何 app_offline 文件。
但是,当然,您需要为此应用程序分配单独的 dns 名称,例如 static.somedomain.com。
于 2008-09-20T06:43:39.757 回答