title: Purpose of aspnet_isapi.dll hosted in w3wp - IIS 6?
body: <p>What is the purpose of the ASP.NET ISAPI extension <strong>aspnet_isapi.dll</strong> that is hosted in the worker process <strong>w3wp.exe</strong> in IIS 6.0 ?</p>
  
  <p>In IIS 5.0, I understood that this ISAPI extension was responsible for handling all asp.net requests (aspx etc). It was loaded in the IIS process and was responsible for sending the requests to the ASP.NET worker process <strong>aspnet_wp.exe</strong> using named pipes.</p>
  
  <p>With IIS 6.0, the requests reach w3wp.exe directly from the kernel and the ISAPI extension is later loaded in this worker process. </p>
  
  <p>In the MSDN article (IIS 6.0) <a href="http://msdn.microsoft.com/en-us/library/aa302436.aspx" rel="nofollow noreferrer">here</a> is says <em>Aspnet_isapi.dll - Queues requests for processing by the managed code ASP.NET engine and performs health monitoring.</em></p>
  
  <p>This confuses me. </p>
  
  <ul>
  <li><p>Aren't the requests already queues @ the kernel level ?</p></li>
  <li><p>Isn't aspnet_isapi.dll unmanged code ? i.e. a regular win32 dll ? And isn't w3wp managed code ?</p></li>
  </ul>
  
  <p>I am totally lost :-|</p>
  
  <p>Any help would be appreciated !</p>
  
  <p><strong>I have moved this question to Server Fault. Can someone please close this one ? Thanks !</strong></p>