Есть ли способ получить изображения для отображения с ASP.NET и app_offline.htm? - PullRequest
15 голосов
/ 28 августа 2008

При использовании функции app_offline.htm в ASP.NET он допускает только HTML, но не изображения. Есть ли способ получить изображения для отображения без необходимости указывать их на другой URL на другом сайте ?

Ответы [ 5 ]

12 голосов
/ 28 августа 2008

Да, он просто не может прийти с сайта, на котором есть файл app_offline.htm. Изображение должно быть размещено в другом месте.

11 голосов
/ 11 октября 2012

Другим решением является встраивание изображения в страницу app_offline.htm с использованием URI данных. В наши дни это широко поддерживается - см. Подробности ниже. http://en.wikipedia.org/wiki/Data_URI_scheme

3 голосов
/ 19 июня 2014

Если вы не поддерживаете браузеры до IE 8, вы всегда можете встроить изображения, используя URI данных.

http://css -tricks.com / данных URIs /

3 голосов
/ 28 августа 2008

Если вы хотите выполнить немного больше работы, вы можете легко создать собственную страницу, чтобы перевести приложение в автономный режим.

Одно из возможных решений:

  • Создать DisplayOfflineMessage.aspx: содержит метку для отображения вашего автономного сообщения из приложения ["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");
     }
 }
2 голосов
/ 20 сентября 2008

У меня есть идея.

Вы можете создать отдельное приложение, указывающее на одну и ту же папку, без включенного ASP.NET. Тогда доступ к изображениям этим приложением не будет зависеть от файла app_offline.htm. Или укажите, что приложение направлено в папку со статическим содержимым, там не будет никаких файлов app_offline.

Но, конечно, вам нужно назначить отдельное DNS-имя для этого приложения, например static.somedomain.com.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...