Voici la situation: -ASP.Net. Pourquoi suis-je ne vois pas ma page defaultRedirect même si le mode customErrors = "On"
Je
<customErrors mode="On" defaultRedirect="error.html" />
dans mon web.config.
J'ai également un code de gestion des erreurs personnalisé dans Application_Error
(dans global.asax.cs) qui vérifie certains types d'exception bien connus et les redirige vers des pages d'erreurs personnalisées pour chacun. Si l'exception n'est pas un type bien connu, je reviens simplement de Application_Error
sans en appelant Server.ClearError()
donc la gestion personnalisée par défaut devrait prendre soin d'afficher la page error.html.
Mais chaque fois que mon application vomit un unhandled (et pas bien connu), je finis par exception à la page d'erreur par défaut Asp.Net - vous savez celui que je veux dire, l'écran jaune de la mort ...
Runtime Error Description: An application error occurred on the server. The current custom error settings for this application prevent the details of the application error from being viewed. Details: To enable the details of this specific error message to be viewable on the local server machine, please create a tag within a "web.config" configuration file located in the root directory of the current web application. This tag should then have its "mode" attribute set to "RemoteOnly". To enable the details to be viewable on remote machines, please set "mode" to "Off".
J'ai vérifié les choses évidentes (par exemple en vérifiant que je ne lance pas une autre erreur en Application_Error
et que je n'appelle pas accidentellement ClearError.) C'est définitivement quelque chose de louche avec cette application web (j'ai fait une petite application web de test la gestion des erreurs personnalisées a fonctionné comme prévu) - cela devrait exclure les bizarreries dans mon fichier machine.config
Je vais continuer à me gratter la tête et essayer des choses mais en attendant, j'ai pensé que je mettrais la question ici pour voir si quelqu'un avait des idées brillantes.
PS. Je travaille sur Windows 7 Professionnel (IIS 7.5) mais le même comportement est observé sur Win Server 2003 (IIS6).
Pouvons-nous voir votre code global.asax.cs ... –
Est-ce que .Net peut trouver la page d'erreur à partir de l'emplacement où l'erreur est déclenchée? Typiquement, utilisez defaultRedirect = "~/error.html" – Clicktricity