【问题标题】:Is there a way to get images to display with ASP.NET and app_offline.htm?有没有办法让图像通过 ASP.NET 和 app_offline.htm 显示?
【发布时间】:2010-09-07 03:47:34
【问题描述】:

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

【问题讨论】:

    标签: asp.net iis-6


    【解决方案1】:

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

    【讨论】:

    • 我不明白这是如何回答这个问题的,因为它清楚地表明:无需将它们指向另一个网站上的不同网址
    • @sboisse 将 app_offline.htm 与 IIS 一起使用时,您根本不必重定向到另一个 URL。您什么都没有改变,只需放入 htm 文件即可。 IIS 完成其余的工作。是的,从技术上讲,IIS 正在执行重定向,但是,我的回答确实正确回答了这个问题,因为问题是“不必将它们指向不同站点上的不同 url”。这不会将它们指向任何地方,而不是不同的 URL 或站点。就我们而言,htm 文件只是显示而不是请求的页面。
    • 是的,但是图像不会显示,因为对站点的每个请求都会返回该 htm 文件,包括图像请求。我对这个问题的理解是:有没有办法让图像显示在 app_offline.htm 中,而无需从另一个站点检索图像,即放置 app_offline.htm 的同一个站点。您的答案不满足这两个条件。或者如果我遗漏了什么?
    • 对我来说@derigel 建议的答案最接近我们正在寻找的答案,即创建一个禁用 ASP.NET 的子域网站,这样即使即使app_offline.htm 碍事。
    • 作者最初的问题(在他后来编辑之前)是“有没有办法让图像通过 ASP.NET 和 app_offline.htm 显示?”。所以,这是最初的问题,我的回答是正确的。您可以在 app_offline.htm 文件中使用图片,但它们不能来自同一个站点。
    【解决方案2】:

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

    一种可能的解决方案:

    • 创建 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");
         }
     }
    

    【讨论】:

      【解决方案3】:

      我有个主意。

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

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

      【讨论】:

        【解决方案4】:

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

        【讨论】:

          【解决方案5】:

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

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

          【讨论】:

          猜你喜欢
          • 2020-11-22
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2012-02-26
          • 1970-01-01
          • 1970-01-01
          • 2017-08-08
          • 1970-01-01
          相关资源
          最近更新 更多