IIS 6/COM+;悬挂

IIS 6/COM+;悬挂,iis,dll,asp-classic,crash,Iis,Dll,Asp Classic,Crash,我有一个web应用程序,有时只是挂在重载上。为了让它回来,我必须杀死“dllhost.exe”进程有人知道该做什么吗? 这是一个经典的ASP(VBScript)应用程序,包含许多COM+对象 服务器具有以下配置: Intel Core 2 Duo 2.2 GHz/4 GB RAM Windows Server 2003 Web版SP2 IIS 6.0 与COM对象相关的事件日志中存在一些错误。但是为什么COM对象中的错误会使整个服务器崩溃呢 COM对象是作为COM对象部署的PowerBuil

我有一个web应用程序,有时只是挂在重载上。为了让它回来,我必须杀死“dllhost.exe”进程有人知道该做什么吗?

这是一个经典的ASP(VBScript)应用程序,包含许多COM+对象

服务器具有以下配置:

  • Intel Core 2 Duo 2.2 GHz/4 GB RAM
  • Windows Server 2003 Web版SP2
  • IIS 6.0
与COM对象相关的事件日志中存在一些错误。但是为什么COM对象中的错误会使整个服务器崩溃呢

COM对象是作为COM对象部署的PowerBuilder对象


IIS 7.0是否比IIS 6.0更稳定?

在应用程序和系统类别下的事件日志中可能存在一些错误。尝试查找这些错误的来源或将其发布到此处,我们将看到我们可以做什么:)

编辑: @丹尼尔·西尔维拉 内存可能泄漏。您使用什么COM+对象?我支持的应用程序在Excel中遇到一些问题。

您有内存泄漏:)

此博客是我的IIS疑难解答指南:


如果您无法审核代码并找到引用泄漏的位置,另一种方法是每隔24小时左右重新启动IIS以回收应用程序。您可以将命令行脚本设置为服务器作业来执行此操作。

听起来像是狡猾的COM对象导致了此问题。。是否将它们加载到“应用程序”中,如果加载,则它们是否线程安全;还是在每次请求时使用和丢弃它们


是的,每隔几个小时进行一次回收将有助于“隐藏”问题,但它们应该被正确地调试和修复。。。您是否尝试过分而治之以发现哪个COM对象是问题所在。。。我可以想象,这在生产环境中是很棘手的,因此您需要设置一些繁重的自动化测试来在本地重现问题,然后您可以对此采取一些措施。

您可以回收应用程序池。“回收”选项卡就是为此而创建的。不需要脚本。