268 votes

CustomErrors mode="Off"

Je reçois une erreur chaque fois que je télécharge ma webapp vers le fournisseur. À cause du mode customErrors, tout ce que je vois est le message par défaut "Runtime error", m'indiquant de désactiver customErrors pour en savoir plus sur l'erreur.

Exaspéré, j'ai configuré mon web.config pour qu'il ressemble à ceci :

<?xml version="1.0"?>
<configuration>
    <system.web>
        <customErrors mode="Off"/>
    </system.web>
</configuration>

Et pourtant, tout ce que j'obtiens, c'est cette stupide page d'erreurs à distance qui ne contient aucune information utile. Que puis-je faire d'autre pour désactiver customErrors ? !

1 votes

Essayez d'ajouter @Model.Exception.Message à la Shared/Error.cshtml

0 votes

En général, il faut faire attention aux transformations de la configuration (par exemple Web.Debug.config qui pourrait changer cette valeur), et faire attention aux définitions doubles de cette section/propriété dans le fichier (ce qui n'était clairement pas le cas ici).

7voto

J'ai essayé la plupart des choses décrites ici. J'utilisais VWD et le fichier web.config par défaut contenait :

    <customErrors mode="RemoteOnly" defaultRedirect="GenericErrorPage.htm">
        <error statusCode="403" redirect="NoAccess.htm" />
        <error statusCode="404" redirect="FileNotFound.htm" />
    </customErrors>

J'ai changé le mode="RemoteOnly" en mode="Off". Toujours pas de joie. J'ai ensuite utilisé le gestionnaire IIS, propriétés, onglet ASP.Net, modifier la configuration, puis choisi l'onglet CustomeErrors. Celui-ci affichait toujours RemoteOnly. Je l'ai changé en mode Off et j'ai enfin pu voir les messages d'erreur détaillés.

Lorsque j'ai inspecté le web.config, j'ai vu qu'il y avait deux nœuds CustomErrors dans le system.web ; et je viens de remarquer que la deuxième entrée (celle que je modifiais était à l'intérieur d'un commentaire). Essayez donc de ne pas utiliser le bloc-notes pour inspecter le web.config d'un serveur distant.

Cependant, si vous utilisez la configuration d'édition d'IIS, il se plaindra des erreurs dans le web.config. Vous pouvez alors exclure toutes les réponses qui disent "y a-t-il une erreur de syntaxe XML dans votre web.config".

7voto

Serj Sagan Points 2731

La seule réponse qui a fonctionné pour résoudre ce problème a été trouvée ici : https://stackoverflow.com/a/18938991/550975

Ajoutez simplement ceci à votre web.config :

<configuration>  
  <system.webServer>  
    <httpErrors existingResponse="PassThrough"/>  
  </system.webServer>  
<configuration>

5voto

Nick Craver Points 313913

Si vous obtenez toujours cette page, il est probable qu'elle explose avant de passer le Web.Config.

Assurez-vous qu'ASP.Net dispose des autorisations dont il a besoin pour des éléments tels que les dossiers .Net Framework, la Metabase d'IIS, etc. Avez-vous un moyen de vérifier que ASP.Net est installé correctement et associé à IIS correctement ?

Edit : Après le commentaire de Greg, il m'est venu à l'esprit que j'avais supposé que ce que vous aviez posté était votre web.config complet et très minimal, y a-t-il plus que cela ? Si oui, pouvez-vous poster le web.config complet ?

5voto

mikel Points 10793

J'ai également eu ce problème, mais en utilisant Apache et mod_mono. Pour tous ceux qui sont dans cette situation, vous devez redémarrer Apache après avoir modifié le fichier web.config pour forcer la lecture de la nouvelle version.

5voto

Dongolo Jeno Points 198

Mon problème est que j'avais défini ceci dans mon web.config

<httpErrors errorMode="Custom" existingResponse="Replace">
  <remove statusCode="404" />
  <remove statusCode="500" />
  <error statusCode="404" responseMode="ExecuteURL" path="/Error/NotFound" />
  <error statusCode="500" responseMode="ExecuteURL" path="/Error/Internal" />
</httpErrors>

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X