iis - ASP 错误 0223 - 找不到 TypeLib,间歇性,IIS 重启后解决

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

我目前正在将 ASP 平台从 Windows 2003 R2 IIS 6 网络服务器迁移到 Windows 2012 R2 IIS 8.5 网络服务器。我正处于将多个站点迁移到两个独立的 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 和正确权限的相关标签。

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

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

最佳答案

我现在已经确定是什么导致了上述问题......

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

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

此错误出现在事件日志中...

Windows detected your registry file is still in use by other applications or services. The file will be unloaded now. The applications or services that hold your registry file may not function properly afterwards. No user action is required.

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

当我以域用户身份终端服务并在一段时间后再次注销时,它被复制了。事件日志显示了错误,不久之后所有站点都被轰炸了。

以不同的用户身份运行计划的作业已为我们解决了这个问题。

关于iis - ASP 错误 0223 - 找不到 TypeLib,间歇性,IIS 重启后解决,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30759390/

相关文章:

asp.net-mvc - 将 ASP.NET MVC 应用程序部署到 IIS7 并保持干净的 web.config

c# - 添加绑定(bind)到IIS而不回收应用程序

asp-classic - 详细500错误信息,ASP+IIS 7.5

asp.net-mvc - ASP.NET MVC APP 中除了主页之外的所有内容均收到 404 错误

vbscript - 可能发生哪些其他 5xx 错误以及如何查找/跟踪它们?

json - asmx Web 服务 - jQuery ajax post json(500 错误) - CORS(Access-Control-Allow-Origin 设置为 *)

iis - 未选择 Web 功能时,如何禁用 Wix 中的 WebSite 操作?

asp.net-mvc - ASP.NET Core 中资源的相对 URL 从开发到生产都不起作用

sql - sql查询权限被拒绝

asp-classic - 经典 ASP 异常日志记录(500 和 500.100 错误)