Есть ли способ заставить изображения отображаться с помощью ASP.NET и app_offline.htm?
Вопрос
При использовании 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 данных.
У меня есть идея.
Вы можете создать отдельное приложение, указывающее на ту же папку, без включения функции ASP.NET.Тогда доступ к изображениям с помощью этого приложения не будет зависеть от app_offline.htm file.Или направьте это приложение непосредственно в папку со статическим содержимым, там не будет никаких файлов app_offline.
Но, конечно, вам нужно назначить отдельное dns-имя для этого приложения, вроде static.somedomain.com.