Vivek Thakur

Chaotically Complex

  Home  |   Contact  |   Syndication    |   Login
  105 Posts | 1 Stories | 497 Comments | 65 Trackbacks

News



Archives

ASP.NET Ventures

The way an ASP.NET request is handled by IIS is quite different in IIS 6.0 when compared with 5.0. In 5.0, the ASP.NET worker process is handed off control by the aspnet_isapi extension in IIS. The aspnet_isapi dll runs in the inetinfo.exe process in IIS and functions what is known as the CLR host (a CLR host is the piece of unmanaged code which is responsible for loading the CLR into the memory). So aspnet_isapi “hands over” the processing to the worker process named aspnet_wp.exe, where the request passes through a series of HttpModules and an HttpHandler.

But in IIS 6.0, there is a driver named http.sys which listens to all the incoming requests (aspnet_isapi.dll is not in the picture at this point). The moment an ASP.NET specific request comes in, this driver starts an IIS 6.0 worker process (which is not related to ASP.NET at all) named w3wp.exe. This process now loads the aspnet_isapi.dll (CLR host) and the request follows through a similar sequence of HttpModules and HttpHandlers.

So the important thing to note here is that w3wp.exe is not an ASP.NET worker process (unlike aspnet_wp.exe) but instead specific to IIS 6.0.

 

posted on Wednesday, October 18, 2006 10:07 PM

Feedback

# aspnet_wp.exe problem 8/22/2007 5:36 PM Ravindra
I have run 6-7 heavy reports one by one, then aspnet_wp.exe takes high volume
of memory usage and it works very slow. It does not release memmory Even I close all the browser why is it so?
I am using Asp.net 2.0.

# aspnet_wp.exe and w3wp.exe 2/15/2008 10:06 AM Rajender
I have run heavy reports one by one, then aspnet_wp.exe takes high volume
of memory usage and it works very slow. It does not release memmory Even I close all the browser why is it so?
I am using Asp.net 2.0.


# re: aspnet_wp.exe and w3wp.exe 3/5/2008 7:20 PM Sanjay
Explanation is very good.

# re: aspnet_wp.exe and w3wp.exe 4/30/2008 1:04 PM Deep
I have the same issues with aspnet worker process. It never ever releases the memory once I done with my report requests on server. Every day or 2, I have to restart the IIS to release the memory.

# re: aspnet_wp.exe and w3wp.exe 7/3/2008 8:52 AM Rajesh
Your explanation is very good... but, I require a clarification. Why in Windows XP, ASP.NET uses aspnet_wp.exe? Windows XP has IIS 6.0... correct? So, it should be w3wp!!!

# re: aspnet_wp.exe and w3wp.exe 7/15/2008 11:33 PM Nick
Actually XP has IIS 5.1, and that is why it uses aspnet_wp.exe

# re: aspnet_wp.exe and w3wp.exe 8/6/2008 9:50 PM Michael Deutch
This was a very helpful post. I have IIS 5.1, not 6.0 and have been trying for days to debug a flexbuilder application from my Visual Studio C# server dll using weborb as the object broker. Everywhere I looked I was told to look for the w3wp.exe process to attach to from Visual Studio debugger. But I don't have a w3wp.exe process, instead I have aspnet_wp.exe which starts after I start the application. I attached to aspnet_wp.exe and it hit the breakpoint (but only after I moved the pdb file to the weborb\bin folder, which also contradicts what I read elsewhere).

# re: aspnet_wp.exe and w3wp.exe 8/27/2008 12:03 AM Gmoney
Is w3wp.exe necessary? it is eating up a large amount of my CPU on a Windows SQL server.

# re: aspnet_wp.exe and w3wp.exe 1/21/2009 9:22 PM Shimmon
Actually, all IIS 6.0 web site use a pool to start their worker process. You can see the pool directly in the GUI of IIS 6.0. You may limit the CPU usage, the number of concurent worker processes or even the recycling on a regular basis of a worker process by the properties of your pool web application.

# re: aspnet_wp.exe and w3wp.exe 2/7/2009 11:14 AM pankaj
I have not sure
but ...
aspnet_we.exe use for execute the dll file which was created by aspnet_isapi.

# re: aspnet_wp.exe and w3wp.exe 4/22/2009 9:07 PM srrraja
I guess aspnet_wp.exe and w3wp.exe loads and host runtime.
Once runtime is loaded, aspnet_isapi uses unmanaged com api to despatch request to ASP.NET

# re: aspnet_wp.exe and w3wp.exe 5/8/2009 11:16 AM vibhas
this was very good

# re: aspnet_wp.exe and w3wp.exe 5/26/2009 11:19 PM Kiran
thanks! So if I want to attach the debugger then I choose w3wp.exe instead. correct?

# re: aspnet_wp.exe and w3wp.exe 8/11/2009 10:23 PM pengjh
in windows2003, the w3wp.exe is loaded by a svchost.exe, just like the w3wp.exe is not related with the inetinfo.exe process.

but in windows xp, the aspnet_wp.exe is loaded by the inetinfo.exe process.

why?

Post A Comment
Title:
Name:
Email:
Website:
Comment:
Verification: