Есть ли способ заставить изображения отображаться с помощью ASP.NET и app_offline.htm?

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

  •  09-06-2019
  •  | 
  •  

Вопрос

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

Это было полезно?

Решение

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

Другие советы

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

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

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

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

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

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

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

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

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top