有人成功使用 Castle MonoRail 和 ELMAH 吗?
我们正在使用许多 Resuce 向用户提供友好的错误消息,但如果我们这样做,异常永远不会像 MonoRail 救援拦截它们那样到达 ELMAH。
理想情况下,我们希望用户看到救援,但要在 ELMAH 中记录异常。
任何想法/指针?
干杯,
杰。
有人成功使用 Castle MonoRail 和 ELMAH 吗?
我们正在使用许多 Resuce 向用户提供友好的错误消息,但如果我们这样做,异常永远不会像 MonoRail 救援拦截它们那样到达 ELMAH。
理想情况下,我们希望用户看到救援,但要在 ELMAH 中记录异常。
任何想法/指针?
干杯,
杰。
查看 Macka 发布的链接后,我编写了这个简单的单轨异常处理程序:
public class ElmahExceptionHandler : AbstractExceptionHandler {
public override void Process(IRailsEngineContext context) {
ErrorSignal.FromCurrentContext().Raise(context.LastException);
}
}
然后我在 web.config,monorail 部分注册了它:
<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...
-阿提夫