【问题标题】:ASP Error 0223 - TypeLib Not Found, intermittent, resolved after IIS restartASP 错误 0223 - 未找到 TypeLib,间歇性,在 IIS 重新启动后解决
【发布时间】:2015-06-10 14:30:35
【问题描述】:

我目前正在将 ASP 平台从 Windows 2003 R2 IIS 6 Web 服务器迁移到 Windows 2012 R2 IIS 8.5 Web 服务器。我正处于将多个站点迁移到两个单独的 2012 Web 服务器的阶段,一切看起来都很棒,客户和开发人员都很高兴...但是在托管几天后出现以下错误新服务器。

Active Server Pages error 'ASP 0223'

TypeLib Not Found

/jobboard/conf/constants.vbs.inc, line 1

METADATA tag contains a Type Library specification that does not match any Registry entry.

元数据标签如下:

<!--METADATA TYPE="typelib" NAME="Microsoft ActiveX Data Objects 2.8 Library" UUID="{2A75196C-D9EB-4129-B803-931327F72D5C}" VERSION="2.8"-->

在此服务器上重新启动 IIS 解决了该问题(尽管是暂时的)。

几天后,另一台 2012 年生产中的 Web 服务器出现同样的错误,再次重新启动 IIS 并暂时正常工作。

我已经检查了注册表,并且存在具有正确 UUID 和正确权限的相关标签。

它不会影响服务器上的所有站点,只会影响特定应用程序池中的所有站点。

应用程序池使用域用户身份,并且站点被分成多个共享池。

【问题讨论】:

  • 应用程序池是否在 32 位模式下运行?我认为 IIS 找不到注册表项的唯一原因是它是否在错误的注册表配置单元中查找(32 位与 64 位)
  • 在 64 位架构服务器上,32 位类存储在 HKEY_LOCAL_MACHINE\Software\Wow6432Node\Classes,而 64 位类存储在 HKEY_LOCAL_MACHINE\Software\Classes
  • 虽然不是断断续续的事实。
  • 您好,感谢您的宝贵时间!应用程序池在 64 位模式下运行。 ASP 应用程序也来自具有 64 位应用程序池的 64 位环境。

标签: iis asp-classic iis-6 ado iis-8.5


【解决方案1】:

我现在已经确定了导致上述问题的原因...

我们在 IIS 上的站点在多个以域用户身份运行的共享应用程序池中运行。我们还有一个 Windows 调度程序作业,它在夜间运行许多脚本,这些脚本也以相同的域用户身份运行。

似乎在某些情况下,此调度程序作业会干扰 IIS 工作进程。当它完成并结束其用户会话时,它会卸载内存中的注册表文件,w3wp.exe 进程也可以使用该文件。

此错误显示在事件日志中...

Windows 检测到您的注册表文件仍在被其他用户使用 应用程序或服务。现在将卸载该文件。这 保存您的注册表文件的应用程序或服务可能无法运行 之后适当地。无需用户操作。

以及对当前运行的 w3wp.exe 进程的引用。

当我作为域用户终端服务并在一段时间后再次注销时,它被复制了。事件日志显示了错误,不久之后网站全部被炸毁。

以其他用户身份运行计划作业已为我们解决了此问题。

【讨论】:

  • 谢谢!我们有同样的问题,但不同的原因。我们有一个使用与应用程序池相同的用户的 Windows 服务。为了重新创建,我们终止了服务进程(停止服务还不够)。
【解决方案2】:

我记得有一个 ADOVBS.inc 的包含文件,其中包含所有 ADO 常量,并将它作为标准 ASP 包含在我的全局包含文件中,该文件包含在网站上的每个页面上。

这是在我使用 META 方式包含文件之前。

所以也许最后的手段是恢复到加载 ADO 常量的方法。

似乎达到了某种阈值,CPU/内存?然后阻止 IIS 从注册表缓存/加载文件。然后这会导致错误和池的回收。由于没有重定向到 500.100.asp 错误处理程序页面,该页面对用户隐藏了错误详细信息。这表明错误在 IIS 中并且与服务器有关。

谢谢

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-11-08
    • 2011-12-06
    • 1970-01-01
    • 1970-01-01
    • 2019-12-22
    • 2017-05-04
    • 2022-01-19
    • 1970-01-01
    相关资源
    最近更新 更多