【问题标题】:Which process running on an IIS server spawns a w3wp.exe for each asp.net application?在 IIS 服务器上运行的哪个进程会为每个 asp.net 应用程序生成一个 w3wp.exe?
【发布时间】:2026-01-05 23:45:02
【问题描述】:

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

【问题讨论】:

  • 应用程序域与应用程序池的事情可能会令人困惑。我建议创建一个新的原始问题来详细解决这个问题。就 w3wp.exe 与 aspnet_wp.exe 而言,不同的可执行文件是因为 Windows 2000 和 Windows XP 运行 IIS 5.x,而 Windows 2003 运行 IIS 6。IIS 5 和 IIS 6 之间的进程隔离存在重大差异......同样,最好在单独的问答线程中解决此问题(如果尚不存在)。
  • @saul:我为 appdom v.s. 创建了一个新问题。应用程序池。

标签: asp.net iis


【解决方案1】:

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

Windows 进程激活服务 (WAS) 管理应用程序池 配置和创建和 HTTP 工作进程的生命周期 和其他协议。全世界 网络发布服务 (W3SVC) 和 其他服务依赖于 WAS。

如果您使用诸如 Process Explorer 之类的工具,您可以看到包含 w3wp3.exe 的父进程的进程树:

【讨论】:

  • 重新启动 WAS 可以解决 w3wp.exe 看不到更新的 %PATH%。
【解决方案2】:

为您正在运行的每个应用程序池启动一个 w3wp.exe 进程。

还为您正在运行的网络花园的每个元素启动了一个进程。

【讨论】:

    【解决方案3】:

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

    【讨论】:

      最近更新 更多