【发布时间】:2010-09-21 12:10:39
【问题描述】:
有人成功使用 Castle MonoRail 和 ELMAH 吗?
我们正在使用许多 Resuce 来向用户显示友好的错误消息,但如果我们这样做,异常永远不会到达 ELMAH,因为 MonoRail 救援会拦截它们。
理想情况下,我们希望用户看到救援,但要在 ELMAH 中记录异常。
有什么想法/建议吗?
干杯,
杰。
【问题讨论】:
标签: elmah castle-monorail
有人成功使用 Castle MonoRail 和 ELMAH 吗?
我们正在使用许多 Resuce 来向用户显示友好的错误消息,但如果我们这样做,异常永远不会到达 ELMAH,因为 MonoRail 救援会拦截它们。
理想情况下,我们希望用户看到救援,但要在 ELMAH 中记录异常。
有什么想法/建议吗?
干杯,
杰。
【问题讨论】:
标签: elmah castle-monorail
查看 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...
-阿提夫
【讨论】: