在IIS服务器上,哪个进程会为每个ASP.NET应用程序生成一个w3wp.exe进程?

5

IIS Web服务器上运行的哪个进程负责为每个ASP.NET应用程序创建w3wp.exe工作进程?

enter image description here


1
应用程序域与应用程序池的概念可能会令人感到困惑。我建议创建一个新的问题来详细解决这个问题。至于w3wp.exe与aspnet_wp.exe,不同的可执行文件是因为Windows 2000和Windows XP运行IIS 5.x,而Windows 2003运行IIS 6。IIS 5和IIS 6之间的进程隔离存在重大差异...再次强调,最好在单独的问答主题中解决这个问题(如果还没有)。 - Saul Dolgin
@saul:我已经为AppDom与AppPool创建了一个新的问题。 - Second Person Shooter
3个回答

11

IIS 7中,创建w3wp.exe(工作进程)的实际进程被称为IIS Windows Process Activation Service (WAS)

Windows Process Activation Service (WAS) 管理应用程序池配置以及HTTP和其他协议的工作进程的创建和生命周期。World Wide Web Publishing Service (W3SVC) 和其他服务依赖于 WAS。

如果使用 Process Explorer等工具,可以查看包括w3wp3.exe父进程在内的进程树:

enter image description here


重启 WAS 可以解决 w3wp.exe 无法看到更新后的 %PATH% 的问题。 - crokusek

2

每个运行的应用程序池都会启动一个 w3wp.exe 进程。

如果您正在运行 web-garden,还会为每个元素启动一个进程。


0
刚想多加一点我刚发现的东西 - 我们有一个测试IIS服务器,90%的时间处于非活动状态,尽管它有6个应用程序池根据IIS管理控制台启动,但没有运行w3wp.exe的实例。一旦我在浏览器中打开了网站,它就会生成一个实例来处理请求。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接