Existe uma maneira de exibir imagens com ASP.NET e app_offline.htm?
Pergunta
Ao usar o recurso app_offline.htm do ASP.NET, ele permite apenas html, mas nenhuma imagem.Existe uma maneira de exibir imagens sem ter que direcioná-los para um URL diferente em outro site?
Solução
Sim, simplesmente não pode vir do site que contém o arquivo app_offline.htm.A imagem teria que ser hospedada em outro lugar.
Outras dicas
Outra solução é incorporar a imagem na página app_offline.htm usando um URI de dados.Há um amplo apoio para isso hoje em dia - veja o seguinte para detalhes completos -http://en.wikipedia.org/wiki/Data_URI_scheme
Se você estiver disposto a trabalhar um pouco mais, poderá facilmente criar uma página personalizada para colocar o aplicativo offline.
Uma solução possível:
- Crie DisplayOfflineMessage.aspx:Contém rótulo para exibir sua mensagem offline do Aplicativo["OfflineMessage"].
- GerenciarOfflineStatus.aspx:Contém uma caixa de seleção offline/online, área de texto para mensagem offline e um botão de atualização.O botão de atualização define duas variáveis no nível do aplicativo, uma para a mensagem e um sinalizador que informa se o aplicativo está online.(Esta página deve estar acessível apenas para administradores)
Então em 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");
}
}
Se você não oferece suporte a navegadores anteriores ao IE 8, poderá incorporar as imagens usando um URI de dados.
Eu tenho uma ideia.
Você pode criar um aplicativo separado, apontado para a mesma pasta, sem o ASP.NET habilitado.Então, o acesso às imagens por este aplicativo não será afetado pelo arquivo app_offline.htm.Ou aponte esse aplicativo diretamente para a pasta com conteúdo estático, não haverá nenhum arquivo app_offline.
Mas, é claro, você precisa atribuir um nome DNS separado para este aplicativo, tipo static.somedomain.com.