Как перехватить неопределенные вызовы 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.

происходит. Как также отловить эту ошибку?

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

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