问题标签 [w3wp]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1556 浏览

c# - ApplicationPool 用户与 StartInfo.Username?

我一直在测试(过去 4 天)在 iis7(asp.net)下启动进程的各种选项

确实找到了解决方案。

只要我们不需要与桌面交互,只需要运行cmd或类似的东西),解决方案就很简单:

  1. w3wp用户->应该是权限用户。

  2. 进程启动信息 ( StartInfo.Username)->应该是高权限用户。

但是,有一个问题(根据我的测试):

两个用户必须相同(如果我们要cmd执行)!这是唯一可行的方法。

所以这是我的两个问题:

  • 为什么它们必须相同?w3wp HighPrivileged不能作为HighPrivilegedUSerA运行(通过 process.startInfo)吗?cmdUSerB

  • 两个用户都是域管理员。(他们也是我本地组中的管理员)。只有域管理员/本地管理员可以在本地机器上运行进程吗?

ps 所有文件夹权限都是everyone : full controll(包括c:\windows\*.* /s并包括 cmd.exe 权限),如上所述,两个用户都是本地计算机上的管理员,具有相同的克隆权限。IIS7 处理程序映射*[静态文件] 设置为读取+执行

此外,完整的 cmd 命令是:

cmd /c time /t >c:\1.txt. 如果文件存在,则成功。(我成功,仅当两个帐户相同时)。

完整代码:

0 投票
1 回答
1882 浏览

pid - 达到 CPU 阈值时自动生成 w3wp.exe 进程转储文件,即使 PID 更改也是如此

我正在尝试解决我们的一个网站导致 CPU 间歇性飙升的问题。该站点位于 Web 服务器场上,并且在不同时间在所有服务器上间歇性地发生。导致峰值的进程是 w3wp.exe。我已经检查了所有明显的东西,现在想分析导致峰值的 w3wp.exe 的多组转储文件。

我试图在 w3wp.exe 进程在指定时间内达到指定的 CPU 阈值时自动生成转储文件。

我可以使用 ProcDump.exe 来执行此操作,如果它在 PID(进程 ID)更改之前被触发,它会起作用。

例如:( procdump -ma -c 80 -s 10 -n 2 5844其中 5844 是 PID)

  • -ma 写一个包含所有进程内存的转储文件。默认转储格式包括线程和句柄信息。
  • -c 创建进程转储的 CPU 阈值。
  • -s 在写入转储之前必须达到连续秒 CPU 阈值(默认为 10)。
  • -n 退出前要写入的转储数。

上面的命令将监控 w3wp.exe,直到 CPU 在 10 秒内达到 80% 的峰值,并且至少需要两次迭代才能完全转储。

问题:

我有多个 w3wp.exe 实例正在运行,所以我不能使用进程名称,我需要指定 PID。每次回收应用程序池时,PID 都会更改。这会导致 PID 在我捕获多个转储文件之前发生变化。然后我需要在每个 Web 服务器上再次启动 procdump。

我的问题:

即使在 PID 更改后,如何继续自动生成转储文件?

0 投票
1 回答
3183 浏览

asp.net - w3wp 的 CPU 使用率在 ASP.NET MVC4 Web 应用程序上上升到 100%

我们有一个使用 Entity Framework 4.0 的 ASP.NET MVC4 应用程序。当我们在生产服务器上部署时,CPU 会在一段时间(~2-5h)后上升,直到接近 100%。内存也随之上升,直到最大值。一段时间后,由于内存过高,应用程序池将自动重置。

服务器:Windows 2008 R2 Standard SP1 IIS:7 (V 7.5.7600.16385) 只有一个应用程序池和一个 Web 应用程序正在运行。

来自消耗大部分 CPU 的线程的调试诊断工具的堆栈跟踪:

你知道这个CPU上升的原因是什么吗?

0 投票
1 回答
128 浏览

sql-server-2012 - w3wp 因违反外键约束而崩溃

我已经找到了解决问题的方法,我的问题是“为什么”。

我有一个 .net4 WCF 服务,它使用实体框架和 LINQ 连接到 SQL Server 2012 数据库。我有一段代码将数据插入到表中,它违反了外键约束,当这种情况发生时,它使我的 Web 服务w3wp.exe进程崩溃。

我解决了这个问题,它工作正常。我的问题是……真的吗?这就是我的网络服务崩溃的原因?我的理解是,来自 SQL 的异常在 Entity Framework 中得到了很好的处理,如果这真的是我的 Web 服务器崩溃的原因,那让我对 .net 的稳定性感到不安。

我的假设是我做错了什么,但我很难弄清楚我做错了什么。其他人有类似的问题吗?谢谢!!!

0 投票
0 回答
4092 浏览

.net - 具有高句柄数的 IIS 工作进程 (w3wp.exe)

我们的 IIS 工作进程的句柄数很高且不断增加。线程数似乎很稳定,但句柄数一直在上升,直到 AppPool 由于不活动而关闭。

出于测试目的,我们使用自己的 AppPool 配置了一个简单的 Web 应用程序(只是一个带有文本的 .html 文件)。如果直接调用html文件->没问题。一旦调用了不存在的页面,句柄就会开始上升。高句柄计数仅在 4.0 的集成模式下发生 - 经典和/或 2.0 没有问题。

泄漏的句柄似乎是事件句柄。这是来自内存报告:

在此处输入图像描述

在另一台服务器上进行了完全相同的测试,并且没有出现问题。我已经尝试使用 windbg 并打开了一个 Microsoft 支持案例,但没有结果。

0 投票
1 回答
1375 浏览

.net - w3wp.exe(网络服务用户)阻止访问文件

我有一个 Web 服务应用程序,它使用另一个保存和加载 xml 文件的应用程序。

对文件进行了 3 次访问后,无法再次访问该文件。如果我杀死属于 NETWORK SERVICE 用户的 w3wp.exe 进程,一切都会重新开始工作,但只有一次。

这是保存和加载 xml 文件的代码示例。

任何想法发生了什么以及可以解决这个问题的方法

0 投票
1 回答
1227 浏览

methods - w3wp.exe 在调用 [System.Data.Odbc]::OdbcConnection.Open() 时崩溃

我正在使用 Microsoft Visual Web Developer 2010 Express 构建一个网页,该网页从数据库中提取数据以填充带有相关选项的下拉列表。当我在开发人员中调试页面时,一切正常,但是当我通过使用 IE 导航到生产页面来测试生产页面时,我得到一个 Visual Studio 即时调试器窗口,显示“w3wp.exe 中发生未处理的 win32 异常 [ #####]" 其中##### 是每次出现错误时都会更改的数字。经过一番研究,我发现当程序尝试调用任何 OdbcConnection.Open() 方法时会发生错误。下面是来自 DebugDiag 的一些异常信息。

异常信息:

这是调用堆栈:

0 投票
1 回答
333 浏览

asp.net - 每天午夜 W3WP 内存和线程利用率

我在 IIS 7.5(Win 2008 R2)上安装了 ASP.NET 应用程序(Microsoft“Stock Trader 5.0”),我正在使用加载应用程序来加载 ASP.NET 应用程序的压力。每天早上,当我检查“perfmon”计数器时,我发现在午夜(上午 12 点)左右我遇到了内存和线程利用率问题(线程数从 150 跳到 1400,私有内存在几分钟内增加了 200 MB)。这个问题每天只在午夜发生,我试图禁用 IIS 日志记录,停止在午夜左右运行的任何计划任务,但我仍然遇到这个问题。

还有什么我可以尝试或检查来解决这个问题的吗?

谢谢 !!

0 投票
1 回答
226 浏览

visual-studio-2010 - 在 VS2010 中无法附加到脚本进程

我正在尝试附加到 w3wp.exe 以调试经典 asp。

我正在附加类型“脚本”,但收到以下错误:

无法附加到这些类型的代码:脚本:已附加调试器。

我在网上看到可能另一个程序正在后台运行并且正在使用“脚本”。

我怎样才能知道什么程序使用它?并可能杀死它?还是有其他方法可以绕过它。

也许我可以在不附加到脚本的情况下调试经典 asp?这是我过去能够做到的唯一方法。

谢谢!

0 投票
1 回答
1347 浏览

.net - 堆栈溢出时 IIS 崩溃(未处理) - Microsoft .NET 4.5 ASP.NET MVC 3

我在 IIS 7 上的 ASP.NET MVC 3 应用程序有错误的行为。我们在代码中有堆栈溢出情况,它导致一般应用程序池崩溃而没有正确的 System.StackOveflowException throwing。因此,在开始执行有问题的函数w3wp.exe 后出现本机代码异常

这是 HtmlHelper 扩展的代码(现已修复):

这是事件日志记录:

另一个:

我的问题:为什么在没有 StackOverflowException 的情况下会导致池崩溃?