e.Dismiss() 在 Global.asax.cs 中的 ErrorLog_Filtering 方法中不起作用

e.Dismiss() does not work in ErrorLog_Filtering method in Global.asax.cs

我试图阻止错误到达我的错误集合,但我做不到。

public void ErrorLog_Filtering(object sender, ExceptionFilterEventArgs e)
{
    e.Dismiss();
}

错误仍然到达我的错误集合,我不知道为什么。我放置了断点并且该方法有效, e.Dismiss() 被调用。 有任何想法吗?我都出来了。

我发现发生了什么事。其他人添加了一个全局过滤器,用于处理异常并将它们记录到错误集合中。

public static void RegisterGlobalFilters(GlobalFilterCollection filters)
    {
        filters.Add(new LogExceptionFilter());
    }

在 LogExceptionFilter 内部:

 public class LogExceptionFilter : IExceptionFilter
    {
        public void OnException(ExceptionContext context)
        {
            _log.Error(context.Exception);            
        }

        private readonly ILog _log = LogManager.Instance.GetLogger();
    }