title: Separate MVC and webAPI controller route
body: <p>I have created a WebApi project, which has multiple WebApi controllers. As per my requirement I have to add an MVC controller to my WebApi project. My client side code is making an ajax request to that MVC controller with <code>{ControllerName/ActionMethodName}</code>. I have multiple routes in my <code>global.asax</code> file:</p>
  
  <pre><code>routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
  
  routes.MapHttpRoute(
      name: "DefaultApi",
      routeTemplate: "api/{controller}/{action}/{id}",
      defaults: new { id = RouteParameter.Optional }
  );
  routes.MapHttpRoute(
      name: "ActionRoute",
      routeTemplate: "api/{controller}/{id}",
      defaults: new { id = RouteParameter.Optional }
  );
  routes.MapRoute(
      name: "Default",
      url: "{controller}/{action}/{id}",
      defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
  );
  </code></pre>
  
  <p>Below is my <code>ReportServiceBaseController</code>:</p>
  
  <pre><code>protected virtual ReportServiceBase CreateReportService(); 
  
  [HttpPost]
  public JsonResult LoadDocumentInfo(LoadDocumentInfoRequest request);
  
  [HttpPost]
  public JsonResult LoadDocumentMapInfo(LoadDocumentMapInfoRequest request);
  
  [HttpPost]
  public JsonResult LoadDocumentMapInfoFull(LoadDocumentMapInfoFullRequest request);
  
  [HttpPost]
  public JsonResult LoadPageInfo(LoadPageInfoRequest request);
  </code></pre>
  
  <p>I am inheriting that controller in a <code>ReportService</code> controller:</p>
  
  <pre><code>public class ReportServiceController : ReportServiceBaseController
  {
      protected override PerpetuumSoft.Reporting.WebViewer.Server.ReportServiceBase   CreateReportService()
      {
          return new ServiceClass();
      }
  
  }    
  </code></pre>
  
  <p>The client side URL which is making the request:</p>
  
  <blockquote>
    <p>"http://" + hostName + "/ReportService/LoadDocumentInfo"</p>
  </blockquote>
  
  <p>I think the WebApi route is suppressing the MVC Controller route. How can I separate the MVC Controller route from the WebApi route?</p>