перехватывать все необработанные исключения в ASP.NET Web Api

Как пойматьвсе необработанные исключения, которые возникают в ASP.NET Web Api, чтобы я мог их регистрировать?

Пока что я попробовал:

Создать и зарегистрироватьExceptionHandlingAttributeРеализоватьApplication_Error метод вGlobal.asax.csПодписываться наAppDomain.CurrentDomain.UnhandledExceptionПодписываться наTaskScheduler.UnobservedTaskException

ExceptionHandlingAttribute успешно обрабатывает исключения, которые генерируются в методах действий контроллера и фильтрах действий, но другие исключения не обрабатываются, например:

Исключения, возникающие приIQueryable возвращенный методом действия не выполняетсяИсключения, выдаваемые обработчиком сообщений (т. Е.)HttpConfiguration.MessageHandlersИсключения, возникающие при создании экземпляра контроллера

По сути, если исключение приведет к тому, что клиенту будет возвращена внутренняя ошибка 500, я хочу, чтобы она была зарегистрирована. ВнедрениеApplication_Error хорошо выполнил эту работу в Web Forms и MVC - что я могу использовать в Web Api?

Ответы на вопрос(5)

Ваш ответ на вопрос