Je reçois une erreur chaque fois que je télécharge mon application Web sur le fournisseur. En raison du mode customErrors, tout ce que je vois, c’est le message par défaut “Erreur d’exécution”, me demandant de désactiver customErrors pour en savoir plus sur l’erreur.
Exaspéré, j’ai défini mon web.config comme suit:
et pourtant, tout ce que j’obtiens est la page d’erreurs distantes stupide sans informations utiles. Que puis-je faire d’autre pour désactiver CustomErrors OFF?
Cela m’a rendu fou ces derniers jours et je ne pouvais pas le contourner mais je l’ai finalement compris:
Dans mon fichier machine.config, j’avais une entrée sous
:
Cela semble remplacer tous les autres parameters customError que vous avez spécifiés dans un fichier web.config, en définissant donc l’entrée ci-dessus comme suit:
signifie maintenant que je peux à nouveau voir les messages d’erreur détaillés dont j’ai besoin.
La machine.config
se trouve à
32 bits
%windir%\Microsoft.NET\Framework\[version]\config\machine.config
64 bits
%windir%\Microsoft.NET\Framework64\[version]\config\machine.config
J’espère que ça aide quelqu’un dehors et permet d’économiser quelques heures.
“Off” est sensible à la casse.
Vérifiez si le “O” est en majuscule dans votre fichier web.config, j’en ai souffert quelques fois (aussi simple que cela puisse paraître)
Dans le but d’append plus de situations à cette question (parce que c’est là que j’ai regardé parce que j’avais exactement le même problème), voici ma réponse:
Dans mon cas, j’ai copié / collé le texte de l’erreur générique en disant si vous voulez voir ce qui ne va pas, mettez
Donc, cela aurait dû être réglé, mais bien sûr que non! Mon problème était qu’il y avait un nœud
Ceci est tiré des annales de Stupid Things que je continue à répéter, dans le chapitre intitulé “Copiez et collez votre chemin vers la destruction”.
Pour les applications Sharepoint 2010, vous devez également modifier C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\14\TEMPLATE\LAYOUTS\web.config
et définir
J’ai essayé la plupart des choses décrites ici. J’utilisais VWD et le fichier web.config par défaut contenait:
J’ai changé de mode = “RemoteOnly” en mode = “Off”. Toujours pas de joie. J’ai ensuite utilisé le gestionnaire IIS, les propriétés, l’onglet ASP.Net, la configuration d’édition, puis j’ai choisi l’onglet CustomeErrors. Cela a toujours montré RemoteOnly. J’ai changé ceci en Off et finalement j’ai pu voir les messages d’erreur détaillés.
Lorsque j’ai inspecté le fichier web.config, j’ai vu qu’il y avait deux nœuds CustomErrors dans le fichier system.web; et je viens de remarquer que la deuxième entrée (celle que je changeais était dans un commentaire). Donc, essayez de ne pas utiliser le bloc-notes pour inspecter web.config sur un serveur distant.
Cependant, si vous utilisez les éléments de configuration IIS, il se plaindra des erreurs dans le fichier web.config. Ensuite, vous pouvez exclure toutes les réponses disant “y a-t-il une erreur de syntaxe XML dans votre fichier web.config”?
Vous pouvez généralement trouver plus d’informations concernant l’erreur dans l’Observateur d’événements, si vous y avez access. Votre fournisseur peut également avoir empêché que des erreurs personnalisées soient affichées, soit en les remplaçant dans leur machine.config, soit en définissant l’atsortingbut retail sur true ( http://msdn.microsoft.com/en-us/library/ms228298 ( VS.80) .aspx ).
Si vous obtenez toujours cette page, il est probable qu’elle explose avant de passer à travers le Web.Confg
Assurez-vous qu’ASP.Net dispose des permissions nécessaires, telles que les dossiers .Net Framework, la métabase IIS, etc. Avez-vous un moyen de vérifier que ASP.Net est correctement installé et associé dans IIS?
Edit: Après le commentaire de Greg, je me suis rendu compte que ce que vous avez posté était tout votre web.config minimal, y at-il plus? Si oui, pouvez-vous poster l’intégralité de web.config?
J’ai aussi eu ce problème, mais en utilisant Apache et mod_mono. Pour toute autre personne dans cette situation, vous devez redémarrer Apache après avoir modifié web.config pour forcer la lecture de la nouvelle version.
La seule réponse qui a fonctionné pour résoudre ce problème, j’ai trouvé ici: https://stackoverflow.com/a/18938991/550975
Ajoutez simplement ceci à votre web.config
:
Mon problème était que je l’avais défini dans ma configuration web
En fait, ce que j’ai compris lors de l’hébergement de mon application Web, c’est que le code que vous avez développé sur votre ordinateur local est d’une version supérieure à celle de la société d’hébergement. Si vous disposez de privilèges d’administrateur, vous pourrez peut-être modifier la prise en charge de la version Microsoft ASP.NET sous le paramètre d’hébergement Web.
Nous avons eu ce problème et c’était dû à l’utilisateur IIS n’ayant pas access à la configuration de la machine sur le serveur Web.
Nous avons également rencontré cette erreur et dans notre cas, c’était parce que l’utilisateur du pool d’applications n’avait plus d’permissions sur le fichier web.config. La raison pour laquelle il a perdu ses permissions (tout allait bien avant) était que nous avions une sauvegarde du site dans un fichier rar et que je faisais glisser une version de sauvegarde du site web.config de rar dans le site. Cela semble avoir supprimé toutes les permissions sur le fichier web.config, sauf pour moi, l’utilisateur connecté.
Il nous a fallu du temps pour comprendre cela car j’ai vérifié à plusieurs resockets les permissions au niveau du dossier, mais jamais au niveau du fichier.
Essayez de redémarrer l’application (en créant un app_offline.htm plutôt que de la supprimer) et si vous obtenez toujours le même message d’erreur, assurez-vous de ne déclarer une seule fois customErrors qu’une seule fois dans le fichier web.config. Les erreurs dans le fichier web.config peuvent avoir des conséquences étranges sur l’application.
Avez-vous un caractère spécial comme æøå dans votre web.config? Si oui, assurez-vous que le codage est défini sur utf-8.
Cette application Web est-elle définie sous d’autres applications dans l’arborescence des sites Web? Vérifiez tous les fichiers parent web.config pour d’autres parameters, le cas échéant. De plus, configurez votre répertoire en tant que répertoire d’application dans IIS.
Si vous utilisez l’aperçu MVC 4, vous pourriez être confronté à ce problème car vous utilisez HandleErrorAtsortingbute. Le comportement a changé dans 5 afin qu’il ne gère pas les exceptions si vous désactivez les erreurs personnalisées.
Vous pouvez également essayer d’afficher le site Web dans un navigateur sur le serveur. Je ne fais pas beaucoup de développement ASP.NET, mais je me souviens que les erreurs personnalisées ont un paramètre pour afficher uniquement le texte d’erreur complet sur le serveur, par mesure de sécurité.
Je viens de traiter d’un problème similaire. Dans mon cas, la version par défaut du site asp.net était la 1.1 alors que j’essayais de démarrer une application Web 2.0. L’erreur était assez sortingviale, mais il n’était pas évident que les erreurs personnalisées ne disparaissent pas et que le runtime n’a jamais été écrit dans le journal des événements. La solution évidente consistait à faire correspondre la version de l’onglet Asp.Net d’IIS.
J’ai eu le même problème mais trouvé une résolution différente.
–
Ce que j’ai fait, j’ai ouvert les parameters avancés du pool d’applications dans le Gestionnaire des services Internet .
Là, je définis Activer les applications 32 bits sur True .
J’ai eu le même problème, et la raison était qu’IIS exécutait ASP.NET 1.1 et que le site nécessitait .NET 2.0.
Le message d’erreur n’a fait que me jeter pendant plusieurs heures.
Assurez-vous d’append juste après le system.web
Je l’ai mis vers la fin du nœud et n’ai pas fonctionné.
Assurez-vous également que vous modifiez web.config et non website.config, comme je le faisais.
Si vous effectuez une transformation de configuration, vous devrez peut-être également supprimer la ligne suivante du fichier web.config approprié.
Après avoir essayé toutes les réponses ici, il s’est avéré que ma méthode Application_Error
avait ceci:
Server.ClearError(); Response.Redirect("/Home/Error");
La suppression de ces lignes et parameters a résolu le problème. (Le client a toujours été redirigé vers la page d’erreur avec customErrors="On"
).
J’ai eu le même problème et j’ai parcouru le journal des applications de l’afficheur d’événements, où il est clairement question de l’exception à laquelle cela s’est produit. Dans mon cas, l’exception était comme ci-dessous …
Informations sur les exceptions:
Exception type: HttpException Exception message: The target principal name is incorrect. Cannot generate SSPI context. at System.Web.HttpApplicationFactory.EnsureAppStartCalledForIntegratedMode(HttpContext context, HttpApplication app) at System.Web.HttpApplication.RegisterEventSubscriptionsWithIIS(IntPtr appContext, HttpContext context, MethodInfo[] handlers) at System.Web.HttpApplication.InitSpecial(HttpApplicationState state, MethodInfo[] handlers, IntPtr appContext, HttpContext context) at System.Web.HttpApplicationFactory.GetSpecialApplicationInstance(IntPtr appContext, HttpContext context) at System.Web.Hosting.PipelineRuntime.InitializeApplication(IntPtr appContext) The target principal name is incorrect. Cannot generate SSPI context.
Je viens de mettre à jour mon mot de passe dans le pool d’applications et cela fonctionne pour moi.
Il est également possible dans certains cas que web.config ne soit pas formaté correctement. Dans ce cas, vous devez le parcourir ligne par ligne avant de travailler. Souvent, les règles de réécriture sont le coupable ici.