Je souhaite que l'erreur personnalisée soit vraie pour empêcher les utilisateurs de consulter des informations détaillées sur mon application. Mais je ne trouve pas où je devrais écrire ceci <customErrors mode="on">
; devrait-il être dans le web.config ou dans le web, debug.config ou bien où?
BR
D'après mon expérience, nous devrions activer l'erreur personnalisée sur On en mode de publication et la désactiver dans le débogage. Pour ce faire automatiquement, nous pouvons utiliser la transformation web.config comme dans l'exemple suivant.
Web.Debug.config
Ce paramètre permettra au serveur Web d'afficher une page jaune ASP.NET contenant des informations d'erreur utiles.
<customErrors mode="Off" xdt:Transform="Replace" />
Web.Release.config
En revanche, nous ne voulons pas que l'utilisateur connaisse une erreur technique. Nous devons utiliser une page d'erreur personnalisée au lieu de la page jaune ASP.NET.
<customErrors mode="On" xdt:Transform="Replace" />
Cela dépendra, mais devrait normalement être dans le fichier Web.config.
Web.Debug.config et Web.Release.config (et d'autres variantes de configuration) sont utilisés lorsque vous déployez votre application. Lorsque vous effectuez une opération de publication, la transformation est appliquée à votre fichier Web.config pendant le déploiement, ce qui signifie que vous pouvez appliquer des paramètres de configuration spécifiques pour le débogage, la publication et d'autres configurations que vous avez définies.
Si vous n'effectuez pas normalement une opération de publication pendant le développement, vous devrez appliquer ce paramètre au fichier Web.config pour qu'il prenne effet.
Voir http://msdn.Microsoft.com/en-us/library/dd465318.aspx pour plus de détails sur la transformation du fichier Web.config.
Voir http://msdn.Microsoft.com/en-us/library/h0hfz6fc.aspx pour un exemple d'ajout de l'élément customErrors au fichier Web.config.
Mettez-le dans Web.config et créez une page d'erreur pour la redirection. Dans MVC, vous avez HandleErrorAttribute, marquez-le sur la classe pour gérer une erreur inattendue, enregistrez-la et lancez la page d'erreur. L'erreur personnalisée est la page par défaut pour une erreur spécifique avec un code d'état connu.
<system.web>
<customErrors mode="On">
<error statusCode="404" redirect="/PageNotFound?" />
</customErrors>
</system.web>