title: What is the correct usage of "runAllManagedModulesForAllRequests" in ASP.NET MVC2/3?
body: <p>I've read various posts and questions about the use of <code>runAllManagedModulesForAllRequests</code> in the <code>modules</code> section of <code>&lt;system.WebServer&gt;</code> and I'm concerned that I'm using this setting incorrectly.</p>
  
  <p>All my ASP.NET MVC applications are written using .NET Framework 4.0 and MVC2, plus we have a beta of an application that uses MVC3. </p>
  
  <p>These apps are deployed to servers running Windows 2008R2/IIS7.5. The sites are configured to run in Integrated Pipeline/.NET 4.0 application pools.</p>
  
  <p>If I set <code>runAllManagedModulesForAllRequests="false"</code> then I get a HTTP Error 403.14 - Forbidden error from IIS. If I set this to true then all is well.</p>
  
  <p>However <a href="http://www.britishdeveloper.co.uk/2010/06/dont-use-modules-runallmanagedmodulesfo.html" rel="nofollow noreferrer">this article</a> suggests this is a bad thing to do and a fix:</p>
  
  <blockquote>
    <p>Don't use runAllManagedModulesForAllRequests="true" when getting your MVC routing to work</p>
  </blockquote>
  
  <p>Is it really that bad, should I follow this advice?</p>