考虑一个 ASP.NET SOAP Web 服务,该服务启动良好,但在收到第一次命中时就很难启动。
请注意,这是在测试环境中进行的部署,而不是在 PreProd 环境中。两者都是 Windows 2003 SP3 + IIS 6 + ASP.NET 3.5。都是最新的。
我们看到的行为是:
- 重新启动站点和应用程序池
- 应用程序池配置为在网络服务下运行。
- 正如预期的那样,浏览到 .asmx 和 .wsdl 会正常响应。
- 向 Web 服务发送一个格式良好的普通 SOAP 请求/普通有效负载
- 100% CPU 使用率
- 5秒后,页面请求/站点返回“服务不可用”
- IIS 日志文件中未创建任何条目(即 c:\windows\system32\logfiles\W3C-foo)
- 应用程序池最终被停止
对 CPU 造成重创的进程是dw20.exe
. 我不确定为什么 Watson 博士会参与其中。
事件日志显示 ASP.NET 运行时错误:
任务管理器:
事件日志文本:
EventType clr20r3、P1 w3wp.exe、P2 6.0.3790.3959、P3 45d6968e、P4 错误管理、P5 1.0.0.0、P6 4b86a13f、P7 24、P8 0、P9 system.stackoverflowexception、P10 NIL。
问题
关于这个 system.stackoverflow 异常可能是什么的任何想法?鉴于环境之间的代码相同,这可能是有效负载问题吗?会不会是配置问题?您可以在异常消息中看到我的 .NET 程序集的名称:“ErrorManagement”