Я пытаюсь преобразовать код, который я нашел для MVC, чтобы работать в обычном Asp.Net. Короче говоря, я хочу иметь возможность регистрировать обработанные исключения с помощью Elmah без необходимости вызова метода ведения журнала каждый раз, когда возникает исключение. Я просмотрел все это, и все решения, которые я нахожу, используют MVC. Я нашел простой и элегантный здесь, и хотя мое приложение использует MVC для вызовов на стороне клиента, это не полный проект MVC, поэтому я думаю, что это не сработает или я что-то упустил.Использовать Elmah для выхвата необработанных исключений с помощью IExceptionFilter
Так вот код
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());
}
Сообщение от: How to get ELMAH to work with ASP.NET MVC [HandleError] attribute?
Говорит, чтобы поместить второй блок кода в файле global.asax. Событие никогда не вызвали для меня, поэтому мне интересно, нужно ли мне самому называть это, и если я сделаю то, что я перехожу к нему? Я бы предпочел знать, что эквивалент для обычной asp net был бы, поскольку я не знаком с MVC, хотя, поскольку у меня есть ссылка на DLL MVC, я был бы открыт, чтобы попытаться заставить его работать «как есть», если кто-то имеет идеи.