我正在尝试将错误跟踪服务Raygun添加到Orchard,但是我不确定如何拦截应用程序抛出的异常。
在默认的ASP.NET MVC中,它通常是通过Application_Error()
中的Global.asax.cs
完成的,有没有办法在Orchard CMS中类似地执行此操作?
我发现它的唯一方法是将代码明确地放入自定义ErrorPage.cshtml
。
答案 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