Latest

random

ASP.Net - IIS Worker Process (w3wp.exe)

When a request comes from client to the server a lot of operations is performed before sending the response to client browser. This is all about how IIS process the request from client to server.

In this blog post I will explain about IIS Request Processing and concept of ASP.Net Worker Process and IIS Application Pool in ASP.Net.

What is ASP.Net Web Server?

When we run our asp.net web application from Visual Studio IDE, there visual studio integrated asp.net engine is responsible to execute all kind of asp.net requests and responses. The "WebDev.WebServer.Exe" process take care of all request and response of an web application which is running from Visual Studio IDE.

So 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.
iis, iis worker process, asp.net, iis debugging tools, iis7,w3wp.exe
Web Server and ASP.NET Application Life Cycle

What is Internet Information Services?

IIS (Internet Information Server) is one of the most powerful web server from Microsoft that is used to host your ASP.NET Web application. IIS has it's 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 response back to clients.

iis, iis worker process, asp.net, iis debugging tools, iis7,w3wp.exe
Internet Information Server

IIS Process ASP.Net

There are two main major concepts available in IIS Process Request:-
  • Worker Process (w3wp.exe)
  • Application Pool

Worker Process (w3wp.exe)

Worker process is responsible to manage all the request and response that are coming from client system. All the asp.net functionality runs under the scope of worker process. In a single word we can say "Worker process is the heart of asp.net web application which runs on IIS"

How to run worker process in Visual Studio?

If you are debugging a ASP.NET web application which is hosted on IIS7, you need to attach the particular worker process in Visual Studio to start debugging. 

To Attach a process we can go to Tools -> Attach Process or use shortcut key Ctrl +P. The process window will show the worker process (w3wp.exe) which is currently running on IIS7. You need to select the process and click on attach button to start the debugging.

Application Pool in IIS

Application pool is the container of worker process. Application pools is used to separate sets of IIS worker processes that share the same configuration. Application pools enables a better security, reliability, and availability for any web application. 

Application pools allow you to isolate your applications from one another, even if they are running on the same server. This way, if there is an error in one app, it won't take down other applications.

iis, iis worker process, asp.net, iis debugging tools, iis7,w3wp.exe
What is application pool in IIS?
Application Pool with multiple worker process is called "Web Garden"

Summary : When client request for some information from a web server, request first reaches to HTTP.SYS of IIS. HTTP.SYS then send the request to respective Application PoolApplication Pool then forward the request to worker process to load the ISAPI Extension which will create an HTTPRuntime Object to Process the request via HTTPModule and HTTPHanlder. After that the ASP.NET Page LifeCycle events starts.

I hope you will enjoy the ASP.Net tutorial while learning IIS Worker Process, ASP.Net Web Server and Application Pool in ASP.Net. I would like to have feedback from my blog readers. Your valuable feedback, question, or comments about this article are always welcome. 

13 comments:

  1. Replies
    1. The article is so well written that even the dumbest guy like me could also easily understand!! great work.

      Delete
    2. :) thanks Raman for your comment,
      Please keep visiting etechpulse and don't forgot to bookmark it!

      Delete
  2. the more i read from you the more I learn.

    ReplyDelete
  3. this is a nice stuff....update more documents..!!!!!!




    ReplyDelete
  4. Thanks for posting.
    Great Stuff..........

    ReplyDelete
  5. very useful....thank u very much.....

    ReplyDelete
  6. just by reading this article ...i came know importance of application pools...thank u ...

    ReplyDelete
    Replies
    1. u're welcome. Thanks for visiting my blog. :)

      Delete

All Rights Reserved by Etechpulse © 2015 - 2016
Powered By Blogger

Contact Form

Name

Email *

Message *

Powered by Blogger.