Ich verwende das Ereignis Application_Error, um Fehler in meiner App zu erfassen und zu protokollieren. Der Fehler wird protokolliert, dann ein freundlicher Fehlerbildschirm angezeigt:ASP.NET Anwendungsfehler überschreiben 404?
In meiner web.config Ich habe:
<customErrors mode="On" defaultRedirect="GlobalError.aspx">
<error statusCode="404" redirect="PageNotFound.aspx" />
</customErrors>
Jedes Mal, wenn ein Benutzer eine Seite zu laden versucht, die nicht existieren, sie Rufen Sie die Seite GlobalError.aspx ab, nicht die Seite PageNotFound.aspx. Ich habe im Application_Error-Ereignis gesucht und festgestellt, dass der Response StatusCode 200 war, während der letzte Fehler des Servers "Page 'foo.aspx' wurde nicht gefunden wurde."
Was muss ich tun, damit das funktioniert?
Ich dachte darüber nach, aber wie ich schon sagte, auch wenn die Seite nicht gefunden wird, ist der StatusCode 200, nicht 404. –
Ich habe ein Code-Snippet hinzugefügt, um zu erkennen, ob es sich um einen 404-Fehler handelt –
Dies funktioniert so erwarte, aber es scheint plump, nein? Warum muss ich das erkennen? Warum funktioniert die web.config nicht so, wie ich es erwarte? –