title: ASP.net Web API: Why are controllers created per request?
body: <p>Mike Wasson's article "<a href="http://www.asp.net/web-api/overview/extensibility/using-the-web-api-dependency-resolver" rel="noreferrer">Dependency Injection for Web API Controllers</a>" on www.asp.net says:</p>
  
  <blockquote>
    <p><strong>Dependenecy Scope and Controller Lifetime</strong></p>
    
    <p>Controllers are created per request...</p>
  </blockquote>
  
  <p>Am I correct in understanding that ASP.NET Web API creates a new controller instance (and satisfies its dependencies) for each incoming request? </p>
  
  <p>Is this approach not wasteful in that it creates and destroys many instances of the controller when in theory a single instance could be used for all requests?</p>