J'utilise l'événement Application_Error pour détecter et enregistrer les erreurs dans mon application. L'erreur est enregistré, puis un écran d'erreur convivial est affiché:L'erreur de l'application ASP.NET a remplacé 404?
Dans mon web.config j'ai:
<customErrors mode="On" defaultRedirect="GlobalError.aspx">
<error statusCode="404" redirect="PageNotFound.aspx" />
</customErrors>
Chaque fois qu'un utilisateur essaie de charger une page qui n'existe pas, ils obtenez la page GlobalError.aspx, pas la page PageNotFound.aspx. J'ai regardé dans l'événement Application_Error et ai trouvé que le StatusCode de réponse était 200, tandis que la dernière erreur du serveur était "Page 'foo.aspx' n'a pas été trouvé."
Que dois-je faire pour que cela fonctionne correctement?
J'ai pensé à cela, mais comme je l'ai dit, même lorsque la page n'est pas trouvée, le StatusCode est 200, pas 404. –
J'ai ajouté un extrait de code pour détecter si c'est une erreur 404 –
Cela fonctionne comme on le ferait attendre, mais il semble maladroit, non? Pourquoi dois-je le détecter? Pourquoi web.config ne fonctionne-t-il pas comme je le souhaite? –