Есть ли способ получить изображения для отображения с ASP.NET и app_offline.htm?

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

Ответ 1

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

Ответ 2

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

Ответ 3

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

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

  • Создать 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");
     }
 }

Ответ 4

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

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

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

Ответ 5

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

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