2008-11-09 33 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> 

就是這樣。