Introduction:
In this article,we are going to discuss about the asp.net process and combilation model.
Main:
Once the user clicked any of the event,the request forwarded to IIS,the IIS is examined and mapped
this incoming request into one external module.This extrnal model in charge of processing incoming
asp.net requests is a dynamic-link library (DLL) named aspnet_isapi.
An ISAPI module is a Microsoft Win32 DLL that exports a couple of functions with a given name and prototype. These functions are GetExtensionVersion and HttpExtensionProc—the real heart of the module. IIS calls HttpExtensionProc for processing the request, and the function generates the response.
The binding between resource extensions and the aspnet_isapi module is set in the IIS metabase,

The tasks the aspnet_isapi extension is in charge of, and subsequently its workings, vary quite a bit with the process model in use.
The Asp.Net Process Model:
The ASP.NET Pipeline
The ASP.NET process model determines how the original request flows from the IIS gate into the CLR instance for further processing. Inside the CLR, a pipeline of components services the request by actually processing the contents of the requested resource and returning any generated response. The managed modules that participate in the ASP.NET pipeline can read and edit the request, access and create cookies, and even order browser redirects. At the end of the pipeline, the request has morphed into an instance of a class that represents the requested ASP.NET page.
In ASP.NET 2.0, this process has been significantly refactored and now involves several new components, most of which are customizable to various extents by developers.
The ultimate goal of the pipeline is to find a class that fully represents the requested page. If not found, such a class is created on the fly, compiled, and loaded in the AppDomain where the ASP.NET application runs. The entry point in the ASP.NET pipeline is the HttpRuntime class. The HTTP pipeline is a fully extensible chain of managed objects that works according to the classic concept of a pipeline.
HttpApplicationFactory
An instance of this class is responsible for returning a valid HttpApplication object that can handle the request. The HttpApplicationFactory object maintains a pool of HttpApplication objects, and when invoked, it verifies that an AppDomain exists for the virtual folder targeted by the request. If the application is already running, the factory picks an HttpApplication out of the pool and passes it the request. A new HttpApplication object is created if an existing object will not be available.
HttpApplication
A running ASP.NET application is represented by a dynamically created class that inherits from HttpApplication. The source code of this dynamically generated class is created by parsing the contents of the global.asax file. The HttpApplication object determines the class that represents the resource being requested—typically, an ASP.NET page, a Web service, or perhaps a user control—and uses the proper handler factory to get an object that represents the requested resource.
HTTP modules
The HttpApplication maintains a list of HTTP module objects that can filter and even modify the content of the request. Registered modules are called during various moments of the elaboration as the request passes through the pipeline. Built-in HTTP modules are responsible for Forms authentication, output caching, session state management, and user profiling.
PageHandlerFactory
The page handler factory creates an instance of an object that represents the particular page requested. Analogous factory objects will do the same for other requested resources such as Web services or custom HTTP handlers.
IHttpHandler
The page object created by the page factory inherits from the System .Web.UI.Page class (or a class derived from this), which in turn implements the IHttpHandler interface. The final step accomplished by the ASP.NET runtime is calling the IHttpHandler’s ProcessRequest method on the page object. This call causes the page to execute the user-defined code and generate the markup for the client.
Conclusion:
Hope this helps,
Happy coding.

