title: Why MapHttpAttributeRoutes() does not add routes from attributes?
body: <p>I have a few controllers of my own and the routing is basically made from attributes. The problem is, when i mock my http requests with Postman, it seems that the program does not know about the routing that was provided.</p>
  
  <p>My controller looks like this :</p>
  
  <pre class="lang-cs prettyprint-override"><code>[RoutePrefix("register")]
  public class RegisterController : ApiController
  {
      private readonly IRegisterService _service;
  
      public RegisterController(IRegisterService service)
      {
          _service = service;
      }
  
      [HttpPost]
      [Route("simple")]
      public void RegisterSimple(RegisterArgs args)
      {
          _service.RegisterSimple(args);
      }
  }
  </code></pre>
  
  <p>Note that Global.asax.cs has a call to configuration that is compatible with Web Api 2 :</p>
  
  <pre class="lang-cs prettyprint-override"><code>public class WebApiApplication : System.Web.HttpApplication
  {
      protected void Application_Start()
      {
          GlobalConfiguration.Configure(WebApiConfig.Register);
  
          // DI Registrations
      }
  }
  </code></pre>
  
  <p>... and WebApiConfig calls MapHttpAttributeRoutes() :</p>
  
  <pre class="lang-cs prettyprint-override"><code>public static class WebApiConfig
  {
      public static void Register(HttpConfiguration config)
      {
          // Web API configuration and services
  
          // Web API routes
          config.MapHttpAttributeRoutes();
  
          config.Routes.MapHttpRoute(
              name: "DefaultApi",
              routeTemplate: "api/{controller}/{id}",
              defaults: new { id = RouteParameter.Optional }
          );
      }
  }
  </code></pre>
  
  <p>When I try calling POST method from Postman with uri</p>
  
  <pre><code>http://localhost:63575/api/register/simple
  </code></pre>
  
  <p>I get the following answer :</p>
  
  <pre><code>{
      "Message": "No HTTP resource was found that matches the request URI 'http://localhost:63575/api/register/simple'.",
      "MessageDetail": "No action was found on the controller 'Register' that matches the request."
  }
  </code></pre>
  
  <p>I do believe that the problem is within the routing configuration. I debugged it, and after both method calls (config.MapHttpAttributeRoutes() and config.Routes.MapHttpRoute) the config has only two Routes : one with empty RouteTemplate ("") and other with provided from MappHttpRoute() call ("api/{controller}/{id}"). 
  My question is - how do I configure the routing via attributes properly?</p>