Possiedo un sito Web IIS 7.5 che esegue .NET 4.0 in modalità pipeline classica.Application_BeginRequest non attivato per JPG sul server di produzione
Ho creato una semplice impostazione un'immagine predefinita in cui se un'immagine è chiamato, ma il file fisico non esiste la richiesta viene reindirizzata a un'immagine predefinita utilizzando il seguente codice nell'evento Application_BeginRequest
:
protected void Application_BeginRequest(object sender, EventArgs e)
{
if (Request.PhysicalPath.EndsWith(".jpg") && File.Exists(Request.PhysicalPath) == false)
{
Context.RewritePath("~/images/nophoto.jpg");
}
}
Questo funziona bene sul mio server di sviluppo VS2010 ma quando su un ambiente di produzione l'evento Application_BeginRequest non viene chiamato per le richieste JPG e tutto quello che ottengo è l'errore HTTP standard 404.0 - Errore non trovato.
Ho provato impostando l'opzione runAllManagedModulesForAllRequests
nel web.config per vero, ma questo non sembra aiutare:
<system.webServer>
<modules runAllManagedModulesForAllRequests="true"></modules>
</system.webServer>
Dalla mia comprensione questo dovrebbe causare tutte le richieste di passare attraverso .NET e quindi innescare il Application_BeginRequest event?
Risultato desiderato:
vorrei tutte le richieste di passare attraverso .NET in modo che l'evento Application_BeginRequest viene chiamato per JPG e un'immagine predefinita viene restituito se non viene trovata alcuna immagine.
grazie, l'ha fatto! – antfx