Wednesday, 9 December 2015

IIS (Internet Information Service) Web Server, Worker Process and application pool In ASP.Net

In this post, I will explain to you the IIS (Internet Information Service) Web Server, Worker Process and application pool.

When request come from client to the server a lot of operation is performed before sending a response to the client. This is all about how IIS Process the request.  Here I am not going to describe the Page Life Cycle and their events, this article is all about the operation of IIS Level.  Before we start with the actual details, let’s start from the beginning so that each and everyone understands its details easily.  Please provide your valuable feedback and suggestion to improve this article.

What is a Web Server?
When we run our ASP.NET Web Application from visual studio IDE, VS Integrated ASP.NET Engine is responsible to execute all kind of asp.net requests and responses.  The process name is“WebDev.WebServer.Exe” which actually take care of all request and response of a web application which is running from Visual Studio IDE.
Now, the name “Web Server” comes into picture when we want to host the application on a centralized location and wanted to access from many locations. Web server is responsible for handle all the requests that are coming from clients, process them and provide the responses.

What is IIS (Internet Information Service) Web Server?
IIS (Internet Information Service) is one of the most powerful web servers from Microsoft that is used to host your ASP.NET Web application. IIS has its own ASP.NET Process Engine to handle the ASP.NET request. So, when a request comes from client to server, IIS takes that request and process it and send a response back to clients.

Request Processing:
Hope, till now it’s clear to you that what is a Web server and IIS is and what is the use of them. Now let’s have a look at how they do things internally. Before we move ahead, you have to know about two main concepts.
  1. Worker Process
  2. Application Pool
Worker Process:  Worker Process (w3wp.exe) runs the ASP.Net application in IIS. This process is responsible to manage all the request and response that are coming from the client system.  All the ASP.Net functionality runs under the scope of worker process.  When a request comes to the server from a client worker process is responsible to generate the request and response. In a single word, we can say worker process is the heart of ASP.NET Web Application which runs on IIS.

Application Pool: Application pool is the container of the worker process.  Application pools are used to separate sets of IIS worker processes that share the same configuration.  Application pools enable better security, reliability, and availability for any web application.  The worker process serves as the process boundary that separates each application pool so that when one worker process or application is having an issue or recycles, other applications or worker processes are not affected. This makes sure that a particular web application doesn’t impact other web application as they are configured into different application pools.


0 comments:

Post a Comment

Please do not enter any spam link in the message box.