asp.net – 如何诊断IIS致命通信错误的问题

前端之家收集整理的这篇文章主要介绍了asp.net – 如何诊断IIS致命通信错误的问题前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个客户使用IIS和一个由我们开发的应用程序,在Asp.NET 1.1中.星期一,连续4次出现错误“服务应用程序池”xxxx’与万维网发布服务发生了致命的通信错误.进程ID为’yyyy’.数据字段包含错误号.“出现.

关于如何诊断这个的任何想法? only link I’ve found谈论安装低级调试工具,但在进行这种低级别分析之前,我会知道有人有更好的想法或合适的选择.

问题(从我可以看到)是客户环境中的一个问题,因为在至少20个或30个不同服务器上的其他客户站点上安装了相同的应用程序,并且问题不会发生.

问候

马西莫

解决方法

我得到相同的错误,这里有一些更多的细节:

运行:Windows Server 2003,IIS 6.0 / ASP 3.0,
2.13 GHz,1 GB RAM

我的网站是测试版,所以我几乎没有访问该网站.

根据事件查看器我每3分钟得到这个警告3次,
然后停止几个小时.

那么有时我会得到错误

服务应用程序池“DefaultAppPool”的进程意外终止.进程ID为’3900′.进程退出代码为“0x800703e9”.

其后跟:

由于在该应用程序池中运行的一系列故障,应用程序池“DefaultAppPool”被自动禁用.

然后,当浏览网站时,会导致“服务不可用”消息.

在阅读了关于这个问题的太多帖子后,我做了以下步骤:

>我读到这可能是注册表访问权限,所以我安装了一个监视器并跟踪所有W3SVC访问被拒绝的错误并授予权限
>我读到0x800703e9错误意味着堆栈over flow,导致w3wp.exe崩溃,我应该安装一个Debug工具,并尝试获得一个内存转储.
我这样做,但没有得到任何转储,所以我安装了一个新的调试工具,但还没有崩溃.

我的网站正在进行一些数据挖掘,以保持服务器的繁忙.

结论:

>我不知道那里发生了什么,但是我知道我的服务器机器是资源缓慢的方式,所以我要升级并重新安装它,我确信它会解决问题…
>问题发生在所有的时间,即使我的.net代码是空闲的,因此在服务器上是一个问题,而不是我的代码.
>我认为第一个警告“一个服务应用程序池的进程…”每隔一段时间发生一次,然后每次都会重新启动应用程序池,因此附加一个调试器不会有帮助 – 该进程不断重新启动,调试器不再有效…
我认为0x800703e9错误(导致服务不可用)可能发生在应用程序池重新启动时,我猜想它需要很多资源,并且由于我的机器太慢,它得到的是0x800703e9 …如前所述堆栈流,但我认为它是由低资源造成的,而不是无尽的递归.
>我认为微软所声称的“注册管理机构访问权限”是一个废话,但是我没有“服务不可用”,因为它可能有所帮助(以为我仍然得到警告“一个进程服务应用程序池…“).

希望这个帮助某人…

猜你在找的asp.Net相关文章