Как перехватить неопределенные вызовы API-методов в ASP.NET MVC4 Web API
Приложение ASP.NET / Mono MVC4 Web API v.1.
Как перехватывать вызовы неопределенных методов API. призваниеhttp://localhost:52216/erp/api/undefinedmethod
возвращает ошибку в браузер:
No HTTP resource was found that matches the request URI 'http:// localhost:52216/erp/api/undefinedmethod'.
No type was found that matches the controller named 'undefinedmethod'.
Как отловить эту ошибку при входе в базу данных? Я пробовал код из вопроса
Как зарегистрировать ВСЕ исключения в глобальном масштабе для приложения C # MVC4 WebAPI?
но код Application_Error и фильтра исключений все еще не выполнен, ошибка возвращается в браузер. Как отловить эту ошибку?
Если URL-адрес без API, как
'http://localhost:52216/erp/undefinedmethod'
Application_Error выполняется правильно.
Конфигурация WebAPI из шаблона проекта VS2013 WebAPI используется:
public static class WebApiConfig
{
public static void Register(HttpConfiguration config)
{
config.Routes.MapHttpRoute(
name: "DefaultApi",
routeTemplate: "api/{controller}/{id}",
defaults: new { id = RouteParameter.Optional }
);
}
Обновить
Я попробовал изменить ответ. Контроллеры API используют авторизацию форм и снабжены стандартным атрибутом [Authorize]. Если авторизация не удалась, стандартное сообщение об ошибке xml api
Authorization has been denied for this request.
происходит. Как также отловить эту ошибку?