RoutePrefix vs Route
<p>I understand that <code>RoutePrefix</code> doesn't add a route to the routing table by itself. On your actions you need to have a <code>Route</code> attribute declared. I am having a hard time finding an authoritative blog/msdn page/ something that states why by defalut <code>RoutePrefix</code> doesn't add a route to the routing table.</p>
<p>Does anyone have an authoritative post that does contain this to be the case, and if so will you let me know whom it is. Thank you very much.</p>
<p><em><strong>Edit</strong></em>
To Clarify my question</p>
<p>DOESN'T WORK</p>
<pre><code>[RoutePrefix(&quot;api/Steve&quot;)]
public class SteveController : ApiController
{
    public int get(){return 1000000;}
}
</code></pre>
<p>Works</p>
<pre><code>[RoutePrefix(&quot;api/Steve&quot;)]
public class SteveController : ApiController
{
    [Route(&quot;&quot;)]
    public int get(){return 1000000;}
}
</code></pre>
<p>The above scenario works because we explicitly stated that the <code>get</code> action on the <code>SteveController</code> has an empty route. Once we do that the route is added to the <code>RouteTable</code></p>
<p>The first scenario doesn't work, because just using <code>RoutePrefix</code> doesn't add anything to the route table. <code>RoutePrefix</code> by itself will not generate a route.
This seems to be common knowledge, <strong>I want to find a trusted source, like official Microsoft documentation, that states why this is.</strong></p>