title: Customize MapHttpAttributeRoutes for Web Api Versioning
body: <p>I am implementing Web API versioning as in <a href="http://www.codeproject.com/Articles/741326/Introduction-to-Web-API-Versioning" rel="nofollow">Web API Versioning</a>. My controllers are in 2 separate namespaces, and I've used a custom SelectController method to choose which version to use based on a a query parameter.
  e.g. </p>
  
  <pre><code>http://myapi/api/values?version=1.0
  </code></pre>
  
  <p>This all works fine but some actions in the controllers use the Route attribute</p>
  
  <pre><code>[Route("api/values/getNames")]
  public HttpResponseMessage Get() { ... }
  </code></pre>
  
  <p>Which are mapped to the correct controller by default using</p>
  
  <pre><code>config.MapHttpAttributeRoutes();
  </code></pre>
  
  <p>in WebApiConfig.cs</p>
  
  <p>This will not work if I have multiple versions of the API with the same route. Am I able to provide a custom implementation for config.MapHttpAttributeRoutes() so I can select the correct version of the API to use, or is there a better way of doing this?</p>