Fondamentalement:
Utilisez à la IncludeErrorDetailPolicy
place si CustomErrors
ne le résout pas pour vous (par exemple, si votre pile ASP.NET est> 2012):
GlobalConfiguration.Configuration.IncludeErrorDetailPolicy
= IncludeErrorDetailPolicy.Always;
Remarque: soyez prudent, le retour d'informations détaillées sur les erreurs peut révéler des informations sensibles aux «pirates». Voir le commentaire de Simon sur cette réponse ci-dessous.
TL; version DR
Pour moi, cela CustomErrors
n'a pas vraiment aidé. C'était déjà réglé Off
, mais je n'ai toujours reçu qu'un maigre an error has occurred
message. Je suppose que la réponse acceptée date d'il y a 3 ans, ce qui est une longue période dans le monde de nos jours. J'utilise Web API 2 et ASP.NET 5 (MVC 5) et Microsoft s'est éloigné d'une stratégie IIS uniquement, tandis queCustomErrors
ancien skool IIS;).
Quoi qu'il en soit, j'ai eu un problème de production que je n'avais pas localement. Et puis j'ai constaté que je ne pouvais pas voir les erreurs dans l'onglet Réseau de Chrome comme je le pouvais sur ma machine de développement. En fin de compte, j'ai réussi à le résoudre en installant Chrome sur mon serveur de production, puis en naviguant vers l'application sur le serveur lui-même (par exemple sur 'localhost'). Ensuite, des erreurs plus détaillées sont apparues avec des traces de pile et tout.
C'est seulement après que j'ai trouvé cet article de Jimmy Bogard (Note: Jimmy est M. AutoMapper! ). Ce qui est drôle, c'est que son article date également de 2012, mais il y explique déjà que cela CustomErrors
n'aide plus pour cela, mais que vous POUVEZ changer le `` détail de l'erreur '' en définissant un autre IncludeErrorDetailPolicy
dans la configuration globale de WebApi (par exemple WebApiConfig.cs
):
GlobalConfiguration.Configuration.IncludeErrorDetailPolicy
= IncludeErrorDetailPolicy.Always;
Heureusement, il explique également comment le configurer pour que webapi (2) écoute vos CustomErrors
paramètres. C'est une approche assez sensée, et cela vous permet de remonter à 2012: P.
Remarque: la valeur par défaut est «LocalOnly», ce qui explique pourquoi j'ai pu résoudre le problème de la manière dont je l'ai décrit, avant de trouver ce message. Mais je comprends que tout le monde ne peut pas simplement produire à distance et démarrer un navigateur (je sais que je ne pourrais surtout pas jusqu'à ce que je décide de devenir indépendant ET DevOps).