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)

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