Gibt es eine Möglichkeit, Bilder mit ASP.NET und app_offline.htm anzuzeigen?

StackOverflow https://stackoverflow.com/questions/32715

  •  09-06-2019
  •  | 
  •  

Frage

Bei Verwendung der app_offline.htm-Funktion von ASP.NET ist nur HTML, aber keine Bilder zulässig.Gibt es eine Möglichkeit, Bilder anzuzeigen? ohne sie auf eine andere URL auf einer anderen Website verweisen zu müssen?

War es hilfreich?

Lösung

Ja, es kann einfach nicht von der Site stammen, auf der sich die Datei app_offline.htm befindet.Das Bild müsste woanders gehostet werden.

Andere Tipps

Eine andere Lösung besteht darin, das Bild mithilfe eines Daten-URI in die Seite app_offline.htm einzubetten.Heutzutage gibt es dafür breite Unterstützung – ausführliche Informationen finden Sie im Folgenden:http://en.wikipedia.org/wiki/Data_URI_scheme

Wenn Sie bereit sind, etwas mehr Arbeit zu leisten, können Sie ganz einfach eine benutzerdefinierte Seite erstellen, um die Anwendung offline zu schalten.

Eine mögliche Lösung:

  • Erstellen Sie DisplayOfflineMessage.aspx:Enthält eine Beschriftung zum Anzeigen Ihrer Offline-Nachricht aus der Anwendung["OfflineMessage"].
  • ManageOfflineStatus.aspx:Enthält ein Offline-/Online-Kontrollkästchen, einen Textbereich für Offline-Nachrichten und eine Schaltfläche zum Aktualisieren.Die Schaltfläche „Aktualisieren“ legt zwei Variablen auf Anwendungsebene fest, eine für die Nachricht und ein Flag, das angibt, ob die Anwendung online ist.(Diese Seite sollte nur für Administratoren zugänglich sein)

Dann in 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");
     }
 }

Wenn Sie Browser vor IE 8 nicht unterstützen, können Sie die Bilder jederzeit über einen Daten-URI einbetten.

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

Ich habe eine Idee.

Sie können eine separate Anwendung erstellen, die auf denselben Ordner verweist, ohne dass ASP.NET aktiviert ist.Dann wird der Zugriff auf Bilder durch diese Anwendung nicht durch die Datei app_offline.htm beeinträchtigt.Oder verweisen Sie die Anwendung direkt auf einen Ordner mit statischem Inhalt. Es werden keine app_offline-Dateien vorhanden sein.

Aber natürlich müssen Sie dieser Anwendung einen separaten DNS-Namen zuweisen, etwa static.somedomain.com.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top