是否有人使用Castle MonoRail和ELMAH成功?Castle MonoRail&ELMAH
我們正在使用一些Resuces向用戶顯示友好的錯誤消息,但是如果我們這樣做,那麼例外情況將永遠不會像ELMAH那樣與MonoRail救援攔截它們。
理想情況下,我們希望用戶看到救援,但要記錄在ELMAH中的異常。
任何想法/指針?
Cheers,
Jay。
是否有人使用Castle MonoRail和ELMAH成功?Castle MonoRail&ELMAH
我們正在使用一些Resuces向用戶顯示友好的錯誤消息,但是如果我們這樣做,那麼例外情況將永遠不會像ELMAH那樣與MonoRail救援攔截它們。
理想情況下,我們希望用戶看到救援,但要記錄在ELMAH中的異常。
任何想法/指針?
Cheers,
Jay。
看着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>
就是這樣。
在發佈Google Groups之後,它看起來像Atif可能指引我朝着正確的方向發展。
您可能想要查看ELMAH中的錯誤 信號。它被設計用於 的場景,即使正在處理/吞嚥,您也想通過ELMAH的管道 傳遞 異常。 以下是一些得到與錯誤信號開始 :
- http://code.google.com/p/elmah/wiki/DotNetSlackersArticle#Error_Signa...
- http://code.google.com/p/elmah/wiki/DotNetSlackersArticle#Signaling_e...
-Atif