Ich habe eine IIS 7.5-Website mit .NET 4.0 im klassischen Pipeline-Modus.Application_BeginRequest nicht für JPG auf Produktionsserver ausgelöst
ich ein einfaches Standard-Image-Setup erstellt habe, in dem, wenn ein Bild aufgerufen wird, sondern die physische Datei wird auf einen Standardbild umgeleitet die Anforderung nicht existieren, um den folgenden Code in dem Application_BeginRequest
Ereignisse mit:
protected void Application_BeginRequest(object sender, EventArgs e)
{
if (Request.PhysicalPath.EndsWith(".jpg") && File.Exists(Request.PhysicalPath) == false)
{
Context.RewritePath("~/images/nophoto.jpg");
}
}
Diese funktioniert gut auf meinem VS2010-Entwicklungsserver, aber in einer Produktionsumgebung wird das Application_BeginRequest-Ereignis nicht für JPG-Anforderungen aufgerufen, und alles, was ich bekomme, ist der Standardfehler HTTP 404 Error 404.0 - Not Found.
Ich habe versucht, die runAllManagedModulesForAllRequests
Option in der Web.Config auf true gesetzt wird, aber dies scheint nicht zu helfen:
<system.webServer>
<modules runAllManagedModulesForAllRequests="true"></modules>
</system.webServer>
Von meinem Verständnis das alle Anforderungen verursachen sollte durch .NET gehen und damit auslösen die Application_BeginRequest-Ereignis?
Gewünschtes Ergebnis:
würde ich alle Anfragen gerne über .NET gehen, so dass das Application_BeginRequest Ereignis für JPGs genannt wird und ein Standardbild wird zurückgegeben, wenn kein Bild gefunden wird.
danke, das hat es geschafft! – antfx