2010-09-28 3 views
1

Ma compréhension est que l'élévation d'un signal d'erreur doit consigner mon erreur ou la classe HandleErrorWithELMAHAttribute personnalisée (prise à partir de ce example), mais elle ne fait ni l'un ni l'autre. J'utilise le décorateur HandleErrorWithElmah pour le contrôleur en question. La journalisation des erreurs fonctionne lorsqu'il s'agit d'exceptions non gérées dans le contrôleur (j'appelle explicitement Logexception et n'utilise pas les conditions mentionnées dans le deuxième bloc de code example). Mais la fonction de signalisation d'erreur qui doit être utilisée pour gérer les erreurs me laisse perplexe. Comment la signalisation d'erreur fonctionne-t-elle ... Est-elle supposée faire autre chose que Logging ... Si oui, comment puis-je l'utiliser pour consigner mes exceptions gérées?La signalisation d'erreur dans ELMAH ne fonctionne pas avec ASP.NET MVC

C'est le code que je utilise pour signaler les erreurs traitées

ErrorSignal.FromCurrentContext().Raise(new Exception("Some Handled Error")); 

Et ci-dessous sont des extraits de mes paramètres dans config web

<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" /> 
      <section name="errorFilter" requirePermission="false" type="Elmah.ErrorFilterSectionHandler, Elmah" /> 
     </sectionGroup> 
    </configSections> 


<elmah> 
<security allowRemoteAccess="yes" /> 
<errorLog type="Elmah.SqlErrorLog, Elmah" connectionStringName="Log" /> 
</elmah> 



<httpHandlers> 
    <add verb="POST,GET,HEAD" path="elmah.axd" type="Elmah.ErrorLogPageFactory, Elmah" /> 
</httpHandlers> 
<httpModules> 
    <add name="ErrorLog" type="Elmah.ErrorLogModule, Elmah"/> 
</httpModules> 

Répondre

3

J'utilise Elmah avec .NET MVC et collecte Les exceptions d'Elmah fonctionnent par programmation pour moi. Je suis peut-être en train d'agripper une paille ici, mais en regardant le quatrième commentaire sur this page sur le site d'Elmah, il y a quelques lignes incluses dans le Web.config qui ne sont pas dans votre exemple ci-dessus.

Il se pourrait que vous venez juste de ne pas inclure les lignes dans votre extrait, mais je pensais que je jette là-bas de toute façon

+0

Merci Phil ... qui a résolu le problème. Il semble que nous avons besoin de ces balises lors du déploiement sur IIS7 que j'utilisais. Les signaux d'ELMAH ont échoué silencieusement, ce qui a rendu le problème plus mystérieux. Une explication plus détaillée à ce sujet a été trouvée ici http://stackoverflow.com/questions/933554/elmah-not-working-with-asp-net-site#answer-1175023 – Mulki

Questions connexes