title: Web API Route with .Json File Extension
body: <p>I have an ApiController with the following route ".../api/swagger.json".  Unless I add the next 'add' statement to web.config I get a 404 as IIS is attempting to resolve the address using the StaticFile Handler. </p>
  
  <pre><code>&lt;add name="ExtensionlessUrlHandler-Integrated-4.0" path="*" verb="*" type="System.Web.Handlers.TransferRequestHandler" preCondition="integratedMode,runtimeVersionv4.0"/&gt;
  </code></pre>
  
  <p>However, if I add this and you then hit an address that actually doesn't exist (.../api/someGarbage/blah) I get an error 500 -- The user should get a 404 not 500.  </p>
  
  <p>What gives?  All this nonsense because i want to use .json in my route name?  There's got to be a fairly simple way to do this.</p>
  
  <p><strong>Edit</strong>  To be very clear - If I add and configure the ExtentionLessUrlHander as such IIS throws 500 errors for things that should be throwing 404.  This is not the desired default response for all things not found.  You can see from the screen shot that IIS is attempting to execute this nonsense address using the ExtensionlessUrlHandler, fair enough but why can't a get a proper 404 out of it?  Essentially I can service routes with extensions in the paths but I loose 404 as a result..</p>