什么是 w3wp.exe?

Posted

技术标签:

【中文标题】什么是 w3wp.exe?【英文标题】:What is w3wp.exe? 【发布时间】:2011-10-19 14:30:01 【问题描述】:

我有一个WCF 服务在我的本地系统上的服务用户下运行。每次我尝试调试时,它都会给我一条消息Attach Security warning

在 Visual Studio 中,默认情况下(即使没有附加),我会收到此错误:

附加到此进程可能会损害您的计算机。如果 以下信息看起来可疑或您不确定,请勿附加到 这个过程

名称:C:\Windows\System32\inetsrv\w3wp.exe

w3wp.exe 是什么?根据谷歌搜索,我认为它与IIS有关。但它有什么作用?应该更改什么设置,这样每次我尝试在本地系统上调试时都不会出现此消息?

【问题讨论】:

这里讲的是调试,我真的不觉得离题。 在尝试搜索 w3wp 描述后,我找不到任何内容。这是个好问题。 立即查看标签信息:***.com/tags/w3wp/info 【参考方案1】:

Internet 信息服务 (IIS) 工作进程是一个 Windows 运行 Web 应用程序的进程 (w3wp.exe),负责 处理发送到特定应用程序的 Web 服务器的请求 游泳池。

它是 IIS 的工作进程。每个应用程序池至少创建一个w3wp.exe 实例,这就是您的应用程序中实际处理请求的内容。附加到这里并不危险,这只是一个标准的 windows 消息。

【讨论】:

每个应用程序池至少创建一个,可能更多,具体取决于它的配置方式^这个实例。 @ChrisKooken 是否有可能拥有一个没有工作进程的应用程序池?我有 4 个应用程序池都在 IIS 6 中启动。但是我只能在任务管理器中看到 2 个 w3wp 进程 @Jonny 他们只在发出请求时启动。如果长时间没有请求,就会关闭。 为了好奇,名字是缩略的:World Wide Web Worker Process我猜他们不喜欢w4p,否则会失去www的意义...【参考方案2】:

Chris 几乎总结了 w3wp 是什么。要禁用警告,请转到此注册表项:

HKEY_CURRENT_USER\Software\Microsoft\VisualStudio\10.0\Debugger

并将值 DisableAttachSecurityWarning 设置为 1。

【讨论】:

【参考方案3】: 工作进程作为名为 W3wp.exe 的可执行文件运行

工作进程是用户模式代码,其作用是处理请求, 比如处理请求返回一个静态页面。

工作进程由www服务控制。

工作进程也运行应用程序代码,例如 ASP .NET 应用程序和 XML Web 服务。

当应用程序池收到请求时,它只是简单地传递请求 到工作进程(w3wp.exe)。工作进程“w3wp.exe”查找 请求的 URL,以便加载正确的 ISAPI 扩展。 ISAPI 扩展是 IIS 处理不同请求的方式 资源。安装 ASP.NET 后,它会安装自己的 ISAPI 扩展名 (aspnet_isapi.dll) 并将映射添加到 IIS。

当 Worker 进程加载 aspnet_isapi.dll 时,它会启动一个 HTTPRuntime,它是应用程序的入口点。 HTTP运行时 是一个调用 ProcessRequest 方法来启动 Processing 的类。

更多详情请参考网址 http://aspnetnova.blogspot.in/2011/12/how-iis-process-for-aspnet-requests.html

【讨论】:

【参考方案4】:

w3wp.exe 是与 IIS 中的应用程序池关联的进程。如果您有多个应用程序池,您将运行多个 w3wp.exe 实例。这个过程通常会分配大量资源。它对您的计算机的稳定安全运行很重要,不应终止。

您可以在此处获取有关 w3wp.exe 的更多信息

http://www.processlibrary.com/en/directory/files/w3wp/25761/

【讨论】:

Chris Kooken 在您回答之前三年就已经回答了这个问题。 IIS池被关闭与PC的安全运行有什么关系?

以上是关于什么是 w3wp.exe?的主要内容,如果未能解决你的问题,请参考以下文章

在调试模式下启动工作进程(w3wp.exe)是啥意思?

ASP.NET 应用程序中的 Thread.Abort 导致 w3wp.exe 崩溃

w3wp.exe(IIS ) CPU 占用 100% 的常见原因及解决办法

w3wp.exe 和页面错误

如何确定哪个 w3wp.exe 进程属于哪个网站?

w3wp.exe 如何与 Web 应用程序一起工作?