Как предотвратить ведение журнала, указывающего c исключение в ASP. NET MVC? - PullRequest
0 голосов
/ 10 марта 2020

В одной из библиотек, которые мы используем в нашем приложении ASP. NET MVC, есть известная ошибка. Он случайным образом выдает очень конкретное c исключение, которое мы легко можем распознать.

Прямо сейчас, как "необработанное исключение", оно автоматически регистрируется в Windows Event Log в категории приложения. Это не критично и просто бесполезно мешает нашему мониторингу.

ВОПРОС: Как мы можем предотвратить регистрацию этого указанного c исключения Windows Журнал событий?

Что мы пробовали до сих пор:

(1) Мы попытались написать собственный фильтр, расширяющий HandleErrorAttribute:

public class MyHandleErrorFilter : HandleErrorAttribute
{
    public override void OnException(ExceptionContext filterContext)
    {
        if (filterContext.Exception is VerySpecificException)
        {
            filterContext.ExceptionHandled = true;
            filterContext.Exception = null;
            return;
        }

        base.OnException(filterContext);
    }
}

(2) Мы попытались написать пользовательский Application_Error метод в global.asax.cs:

protected void Application_Error(object sender, EventArgs e)
{
    var exception = Server.GetLastError();

    if (exception is VerySpecificException)
    {
        Server.ClearError();
        Response.Clear();
        Response.StatusCode = 404;
        Response.End();
    }
}

Оба решения работают должным образом (код выполняется при возникновении исключения), но, несмотря ни на что, исключение все еще сохраняется в Windows Журнал событий.

Есть ли что-то еще, что мы здесь упускаем? В приложении нет пользовательских регистраторов или чего-либо еще.

...