title: ASP.NET MVC not using controller for explicit file route in IIS7
body: <p>Consider a StaticResourceController that locates and serves files.</p>
  
  <p>I've set up an explicit route for "favicon.ico" that will handle the request for this file using StaticResourceController:</p>
  
  <pre><code>routes.MapRoute(
          "favicon",
          "favicon.ico",
          new { controller = "StaticResource", action = "Get", file = "favicon.ico", area="root"},
          new[] { "Dimebrain.Mvc.Controllers" }
          );
  </code></pre>
  
  <p>In IIS6 the expected result occurs when making a request for <a href="http://localhost:8080/favicon.ico" rel="nofollow noreferrer">http://localhost:8080/favicon.ico</a>.</p>
  
  <p>Unfortunately when I deploy to IIS7 <a href="http://localhost/favicon.ico" rel="nofollow noreferrer">http://localhost/favicon.ico</a> returns an IIS-generated 404, presumably because it's actually looking for the favicon.ico in the web root folder, where it doesn't exist.</p>
  
  <p>I have enough happening in StaticResourceController that this isn't a good thing for my application, especially since it is multi-tenant and the favicon.ico file can change. I've set my web server modules to handle every request and override the RouteCollection to disregard file checks with RouteExistingFiles.</p>
  
  <p>Why is the UrlRoutingModule getting in my way in IIS7 and forcing serving the static file from disk (404)?</p>