Me deparei com uma situação que, para mim, é bizarra: tudo que chamava o server passava pelos métodos do Global.asax (Application_BeginRequest, por exemplo). Coisas como imagens, javascript e folhas de estilos (css). Não sei para que serviria isso, mas, no meu caso, estava servindo para atrapalhar.
Busquei soluções na internet. Várias pessoas dizendo que isso acontece no server temporário que o VS cria, mas não quando roda em IIS, por exemplo. Outras dizendo que também acontecia no IIS, e mais conselhos de como configurá-lo. Mas isso estava me atrapalhando enquanto eu desenvolvia.
Tentei fazer uma função detectando a extensão. Entretanto, a cada momento aparece uma extensão nova: css, js, jpg, gif, png, ico, swf... Insustentável.
Encontrei uma solução para pessoas organizadas. Coloque todos esses arquivos em uma pasta só, o que é um bom costume. Logo, será necessário apenas avaliar se sua chamada está vindo do endereço desta pasta. Meus arquivos ficam numa pasta chamada Assets, na raiz do projeto.
Coloquei esta propriedade no Global.asax:
private Boolean isAsset
{
get { return HttpContext.Current.Request.Url.AbsolutePath.StartsWith("/Assets/"); }
}
E, em cada método, logo no começo:
if (isAsset) return;
Pronto. Agora posso continuar sossegada.
Nenhum comentário:
Postar um comentário