ASP.NET MVC 4 ApiController и нормальные маршруты контроллера

У меня есть проект, который используется исключительно для запросов API в наше приложение, и мы используем проект ASP.NET MVC 4. У нас есть некоторые контроллеры, производные от ApiController, а другие - от обычного класса Controller. Проблема в том, что я нене хочу иметь маршрутизацию по умолчанию для ApiControllersapi/XXXXX/, Я хочу, чтобы для ApiControllers использовалась та же маршрутизация, что и для не-Api контроллеров, а именно{controller}/{action}/{id}, Я попытался добавить следующие маршруты

routes.MapHttpRoute(
    name: "Api",
    routeTemplate: "{controller}/{action}/{id}",
    defaults: new { id = RouteParameter.Optional }
);

routes.MapRoute(
    name: "Default",
    url: "{controller}/{action}/{id}",
    defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
);

Это сделает так, чтобы мои ApiControllers были доступны с помощью обычного{controller}/{action} пойдут нонормальный" Контроллеры больше не доступны. Если я избавлюсь отMapHttpRoute происходит обратное.

Есть ли способ иметь ApiControllers и "нормальный" Контроллеры доступны через те же URL-маршруты?

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

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