title: per-route message handler is resulting in 404 not found
body: <p>I have got a very simple Web API message handler. When this message handler is applied globally, it just works fine. If I apply it per-route then my routes start failing with <code>404 Not Found</code> error. I have debugged it to the point where it is able to locate the controller correctly. A controller instance is successfully created but framework fails to find a qualifying action method to process my request. Here is my code for per-rout message handler configuration</p>
  
  <pre><code>public void RegisterRoutes(HttpConfiguration config)
  {
  
      var handler = new AuthenticationHandler();
      var handlers = new DelegatingHandler[] {handler};
  
      var routeHandlers = HttpClientFactory.CreatePipeline(new HttpControllerDispatcher(config), handlers);
      config.Routes.MapHttpRoute("DefaultApi", "api/{tenancy}/{controller}", null, null, routeHandlers);
  }
  </code></pre>