ELMAH.axd est explorable, mais ne sera jamais connecter aucun de mes erreurs?
-
19-09-2019 - |
Question
Je l'ai tout mis en place et je peux parcourir pour /elmah.axd mais je l'ai été à l'origine de toutes ces erreurs et il ne se connecter aucun d'entre eux, il dit simplement « pas d'erreurs enregistrées » ... ce que le diable ai-je fait de mal?
Voici les trucs que je l'ai ajouté à mon web.config:
<configSections>
<sectionGroup name="elmah">
<section name="security" requirePermission="false" type="Elmah.SecuritySectionHandler, Elmah" />
<section name="errorLog" requirePermission="false" type="Elmah.ErrorLogSectionHandler, Elmah" />
<section name="errorMail" requirePermission="false" type="Elmah.ErrorMailSectionHandler, Elmah" />
</sectionGroup>
</configSections>
<httpHandlers>
<add verb="POST,GET,HEAD" path="elmah.axd" type="Elmah.ErrorLogPageFactory, Elmah" />
</httpHandlers>
<httpModules>
<add name="ErrorLog" type="Elmah.ErrorLogModule, Elmah" />
</httpModules>
<elmah>
<errorLog type="Elmah.XmlFileErrorLog, Elmah" logPath="~/App_Data" />
<security allowRemoteAccess="yes" />
</elmah>
AUSSI: C'était déjà au début de mes RegisterRoutes ()
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
Je lis qu'il n'a pas d'importance plus avec ASP.NET MVC 1.0 si, soi-disant (par site ELMAH ...)
La solution
La configuration semble être dans l'ordre; ma meilleure estimation est que votre application Web IIS utilisateur n'a pas la permission d'écrire à App_Data. Si vous avez des autorisations verrouillé, l'utilisateur de l'application aura lu, mais pas écrire, permissions là.
Vous pouvez ouvrir des autorisations vers le haut ou se connecter à un autre répertoire en dehors du chemin web (ce qui est un peu plus sûr de l'OMI) et assurez-vous que les autorisations de lecture / écriture pour l'utilisateur sont définies là.
Autres conseils
La recette de la solution
J'ai installé de NuGet elmah
et elmah on XML log
, n'a pas obtenu le fonctionalité attendu même si je pouvais accéder http://localhost/elmah.axd
, mais pas de capture d'erreur.
J'ai donné l'autorisation d'écriture aux IIS_IUSERS de compte dans le dossier App_Data et il a commencé à travailler pour des erreurs HTTP 404 et les erreurs qui sont en dehors de l'infrastructure MVC. Mais il ne consignait exceptions à l'intérieur du mvc. La solution a été d'installer elmah.mvc package NuGet et il a commencé à capturer toutes les exceptions.
Si votre config est OK, alors il suffit d'installer le paquet elmah.mvc
de NuGet et il devrait commencer à stocker les journaux aussi à l'intérieur mvc, non seulement HTTP 404.