我是一位客户在Asp.NET 1.1中使用IIS和我们开发的应用程序。星期一,连续4次出现错误“进程服务应用程序池'xxxx'与万维网发布服务发生致命的通信错误。进程ID是'yyyy'。数据字段包含错误编号。“出现。
有关如何诊断此问题的任何想法? only link I've found谈到安装低级调试工具,但在进行这种低级别分析之前,我会知道是否有人有更好的想法或合适的替代方案。
问题(从我所看到的)是客户环境中的问题,因为它安装在至少20或30个不同服务器上的其他客户站点上的相同应用程序,并且问题不会发生。
此致
的Massimo
答案 0 :(得分:4)
在IIS 7上有同样的问题,几乎没有报告可以工作,除了一个非常长的报告,它从未在IIS7上工作(在低规格服务器上它很好)。
在应用程序池的高级设置中的IIS7上将“启用32位应用程序”设置为真并且一切运行良好
答案 1 :(得分:3)
我收到同样的错误,这里有更多细节:
运行:Windows Server 2003,IIS 6.0 / ASP 3.0, 2.13 GHz,1 GB RAM
我的网站处于测试阶段,所以我几乎没有网站访问者。
根据事件查看器,我每3分钟收到3次此警告, 然后停了几个小时。
然后有时我会收到错误:
服务应用程序池'DefaultAppPool'的进程意外终止。进程ID为'3900'。进程退出代码为“0x800703e9”。
其后:
由于为该应用程序池提供服务的过程中出现一系列故障,应用程序池“DefaultAppPool”将被自动禁用。
在浏览网站时会导致“服务不可用”消息。
在阅读了太多关于此问题的帖子后,我做了以下步骤:
我读到它可能是注册表访问权限,所以我安装了一个监视器并跟踪所有W3SVC访问被拒绝的错误并授予permition
我读到0x800703e9错误意味着堆栈溢出导致w3wp.exe崩溃,我应该安装一个调试工具并尝试获取内存转储。 我做到了,但我没有得到任何转储,所以我安装了一个新的调试工具,但还没有崩溃。
我的网站正在进行一些数据挖掘,这会使服务器忙碌。
结论:
我不知道那里发生了什么...但我知道我的服务器机器是减慢资源的方法,所以我要升级并重新安装它,我敢肯定它会解决问题......
问题一直发生,即使我的.net代码空闲,因此它在服务器中出现问题,而不是在我的代码中。
我认为第一次警告“为应用程序池提供服务的过程......”每隔一段时间就会发生一次,并且偶尔会导致应用程序池重新启动,因此附加调试器没有帮助 - 该过程不断重启,调试器不再有效...... 我认为0x800703e9错误(导致服务不可用)可能发生在应用程序池重新启动时,我猜它需要大量资源,因为我的机器速度太慢,它得到0x800703e9 ......如前所述,这是一个堆栈流量,但我认为这是由资源不足引起的,而不是无休止的递归。
我认为微软声称的“注册管理机构访问权限”是个问题,但我没有“服务不可用”,因为它可能有所帮助(我以为我仍然得到了警告“为应用程序池提供服务的流程......”)。
希望这有助于某人...
答案 2 :(得分:2)
当网站部署到客户端的Web服务器时,我遇到了同样的问题。 This Microsoft support article说:
“如果NT AUTHORITY \ NETWORK SERVICE帐户没有所需注册表项的权限,则可能会出现此问题。”
分辨率为:“将权限设置为所需的注册表项,然后重新启动IIS 6.0。”
链接的文章包含了执行此操作的步骤。
答案 3 :(得分:1)
我确定你已经知道了,但App Pool只包含1.1应用程序吗?我不记得你通过尝试混合框架(比如服务器不可用)而导致游戏池死机时出现的错误,但是我更常见的是我在野外思考所以我会仔细检查。
虽然情况不太可能,但它还是可以开始的。
编辑:This知识库文章也有您描述的与注册表权限相关的错误消息,客户端运行的是哪个版本的IIS?
答案 4 :(得分:0)
一个更受欢迎的原因(如我的情况) - 其中一个Windows日志已满。