如何在Orchard中扩展错误处理代码?

时间:2015-06-08 10:15:54

标签: asp.net-mvc error-handling orchardcms raygun.io raygun

我正在尝试将错误跟踪服务Raygun添加到Orchard,但是我不确定如何拦截应用程序抛出的异常。

在默认的ASP.NET MVC中,它通常是通过Application_Error()中的Global.asax.cs完成的,有没有办法在Orchard CMS中类似地执行此操作?

我发现它的唯一方法是将代码明确地放入自定义ErrorPage.cshtml

1 个答案:

答案 0 :(得分:1)

推荐的方法是提供DefaultExceptionPolicy接口的自定义实现。在您的方案中,您可以使用默认实现[OrchardSuppressDependency("Orchard.Exceptions.DefaultExceptionPolicy")] public class IssueTrackerExceptionPolicy : DefaultExceptionPolicy, IExceptionPolicy { bool IExceptionPolicy.HandleException(object sender, Exception exception) { // TODO: Log exception here. return base.HandleException(sender, exception); } } 作为后备。

例如,您可以在自定义Orchard模块中实现以下类。

ComboBox