Since too many resources are shared on the process level
(i.e. IIS, inetinfo.exe) and it is too easy for an error to bring down the
entire server process, ASP.NET provides an out-of-process execution model,
which protects the server process from user code.
Life cycle of an ASP.NET application starts when the browser
requests a page from the Web Server.
ISAPI.dll resides inside the Web Server, which examines the
file extension of the requested file and determines which ISAPI extension
should handle the request.
ISAPI.dll uses a named pipe and forwards a request to IIS
where it runs inetinfo.exe to an instance of ASP.NET worker process
aspnet_wp.exe. The worker process uses an instance of the HttpRuntime class to
process the request.
By default, there will be only one worker process in use at
a time.
If the file extension has been mapped successfully then a
class named ApplicationManager is called which creates an Application Domain.