title: Web API reserved words?
body: <p>"Reserved" words may not be the best term here, but is there anything that would prevent me from naming a Web API Controller <em>DocumentationController</em>? Oddly enough, the issue only happens when running in Visual Studio (2012). If I publish to a local IIS site it works fine.</p>
  
  <p>The problem is trying to hit the default <code>Get()</code> method on my <code>DocumentationController</code>, which for testing purposes looks like this:</p>
  
  <pre><code>// GET api/documentation
  public HttpResponseMessage Get()
  {
     return Request.CreateResponse&lt;string&gt;(HttpStatusCode.OK, "success");
  }
  </code></pre>
  
  <p>When running in Visual Studio this will return a 302 "object moved" error, an then subsequently a 404. But if I rename the controller to <code>DocumentationTest</code> or <code>Docs</code> it works just fine in VS and my local IIS site.</p>
  
  <p>I've also tried having this method simply return a <code>string</code> but that didn't make a difference.</p>
  
  <p><strong>Is there a reason I cannot (or shouldn't) name my controller "DocumentationController"?</strong></p>
  
  <p><a href="https://stackoverflow.com/questions/17669244/routing-reserved-words-in-asp-net"><strong>This answer</strong></a> (for ASP.NET MVC, at least) says that the only reserved words are "controller", "action", and "area".</p>
  
  <p><strong>SOLUTION:</strong></p>
  
  <p>There ended up being a folder in the Web API project called <em>Documentation</em>. This, for some reason, wouldn't work when debugging in VS, but worked fine on IIS. I am just going to rename that folder. </p>