2008-11-09 6 views
3

Est-ce que quelqu'un utilise Castle MonoRail et ELMAH avec succès?Castle MonoRail & ELMAH

Nous utilisons un certain nombre de Resuces pour présenter aux utilisateurs des messages d'erreur amicaux, mais si nous faisons cela, les exceptions n'atteignent jamais le niveau ELMAH lorsque le secours MonoRail les intercepte.

Idéalement, nous voulons que l'utilisateur voit le sauvetage, mais que l'exception soit enregistrée dans ELMAH.

Des idées/des pointeurs?

Cheers,

Jay.

Répondre

3

Après avoir examiné les liens Macka posté, je l'ai écrit ce simple monorail gestionnaire d'exceptions:

public class ElmahExceptionHandler : AbstractExceptionHandler { 
    public override void Process(IRailsEngineContext context) { 
     ErrorSignal.FromCurrentContext().Raise(context.LastException); 
    } 
} 

J'enregistré dans web.config, section monorail:

<monorail> 
    <extensions> 
     <extension type="Castle.MonoRail.Framework.Extensions.ExceptionChaining.ExceptionChainingExtension, Castle.MonoRail.Framework"/> 
    </extensions> 
    <exception> 
     <exceptionHandler type="MyNamespace.ElmahExceptionHandler, MyAssembly"/> 
    </exception> 
... 
</monorail> 

Et voilà.

2

Après avoir posté sur Google Groups il semble qu'Atif ait pu m'indiquer dans la bonne direction.

Vous voudrez peut-être chercher dans l'erreur de signalisation dans ELMAH. Il est conçu pour les scénarios dans lesquels vous souhaitez passer une exception via le pipeline d'ELMAH, même s'il est géré/avalé. Voici quelques conseils pour commencer avec signalisation d'erreur:

-Atif