有没有一种方法可以使图像通过ASP.NET和app_offline.htm显示?

时间:2020-03-05 18:44:30  来源:igfitidea点击:

当使用ASP.NET的app_offline.htm功能时,它仅允许html,但不允许图像。有没有一种方法可以显示图像而不必将它们指向另一个站点上的其他URL?

解决方案

回答

是的,只是不能来自具有app_offline.htm文件的网站。该映像将必须托管在其他位置。

回答

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

一种可能的解决方案:

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

回答

我有个主意。

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

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