我正在尝试将我为 MVC 找到的一些代码转换为在常规 Asp.Net 中工作。简而言之,我希望能够使用 Elmah 记录处理的异常,而不必在每次发生异常时调用记录方法。我已经四处寻找这个,我找到的所有解决方案都使用 MVC。我在这里找到了一个简单而优雅的应用程序,即使我的应用程序使用 MVC 进行客户端调用,它也不是一个成熟的 MVC 项目,所以我想它不会工作或者我遗漏了一些东西。
所以这里是代码
public class ElmahHandledErrorLoggerFilter : IExceptionFilter
{
public void OnException (ExceptionContext context)
{
// Log only handled exceptions, because all other will be caught by ELMAH anyway.
if (context.ExceptionHandled)
ErrorSignal.FromCurrentContext().Raise(context.Exception);
}
}
和
public static void RegisterGlobalFilters (GlobalFilterCollection filters)
{
filters.Add(new ElmahHandledErrorLoggerFilter());
filters.Add(new HandleErrorAttribute());
}
帖子来自: 如何让 ELMAH 与 ASP.NET MVC [HandleError] 属性一起使用?
表示将第二个代码块放在 global.asax 文件中。该事件永远不会被我调用,所以我想知道我是否必须自己调用它,如果我这样做,那么我将传递给它什么?我更想知道常规 asp 网络的等效项是什么,因为我不熟悉 MVC,尽管因为我有对 MVC dll 的引用,如果有人我愿意尝试让它“按原样”工作有想法。