ASP.NET applications in IIS are structured as shown in the figure below. I know this probably looks scary, but the names should sound familiar. I hope familiar names will make it a little more digestible.
I am not going to rephrase in words the structure that you see below. The picture does a better job than I could ever say in the sentences. Instead, I come to the consequences that the image has for your questions.

Application domain
What is an application domain? This is a private allocation of system memory for the application. All code within the domain uses the allocated memory of the domain. This means that static types and references are shared in the domain. No code outside the domain can access this domain memory.
Each ASP.NET application runs inside the application domain for each application pool to which it belongs. This one-to-one relationship is true regardless of the number of threads in the application pool.
Global.asax
What is Global.asax? In the simplest case, it is a .NET class that inherits from System.Web.HttpApplication . HttpApplication provides Global.asax smartmats to manage all HTTP requests through the request pipeline. It will kill all the events of the request life cycle and call ProcessRequest on the handler.
Each ASP.NET application will create multiple instances of HttpApplication (Global.asax). When the request is received, it will be passed to one of the HttpApplication instances. Then the request will remain with the same HttpApplication instance for life. This means that one instance of HttpApplication is processed per request. Each HttpApplication instance can and will be reused to process multiple requests throughout its life.
Events>
Where are application events like Application_Start related? This depends on some of these events being part of the application domain, and some being part of HttpApplication . Application_Start and Application_End refer to the beginning and end of the application domain. Other application events (for example, Application_Begin) are related to the life cycle of the HttpApplication instance.
Additional Information
For more information, I suggest this MSDN article and this non-MSDN article.
source share