2008-11-09 51 views
3

是否有人使用Castle MonoRail和ELMAH成功?Castle MonoRail&ELMAH

我们正在使用一些Resuces向用户显示友好的错误消息,但是如果我们这样做,那么例外情况将永远不会像ELMAH那样与MonoRail救援拦截它们。

理想情况下,我们希望用户看到救援,但要记录在ELMAH中的异常。

任何想法/指针?

Cheers,

Jay。

回答

3

看着MACKA张贴的链接之后,我写了这个简单的单轨异常处理程序:

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

然后我注册它在web.config中,单轨部分:

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

就是这样。