0

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

在默认的 ASP.NET MVC 中,它通常是通过Application_Error()in完成的Global.asax.cs,有没有办法在 Orchard CMS 中类似地做到这一点?

我发现这样做的唯一方法是将代码显式放入 custom ErrorPage.cshtml.

4

1 回答 1

1

推荐的方法是提供Orchard.Exceptions.IExceptionPolicy接口的自定义实现。在您的场景中,您可以使用默认实现DefaultExceptionPolicy作为后备。

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

[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);
    }
}
于 2015-06-09T10:05:47.020 回答