我有一个用 Delphi XE 编写的 ISAPI 模块(本机 - 没有 ASP.net 等)。尝试在 Win 7 64 企业台式机上的 IIS 7.5 上运行它。
应用程序池、网站等配置正确,ISAPI 模块被允许执行,经典管道、32 位等 - 已多次执行这些操作。
相同的模块在 Win 2008 R2 服务器上运行良好,它也用于在我的 Win 7 桌面 IIS 7.5 上运行。
但是我的硬盘上周坏了,我得到了一个新的 Win 7 安装 - 标准公司范围的 Win 7 Enterprise 映像(与我之前的 Win 7 64 安装不同)。
现在启动模块时,浏览器会挂起,然后返回“HTTP 错误 503。服务不可用”。在 IIS 中,我看到我的应用程序池在错误发生后停止 - 我知道这意味着 Web 应用程序中发生了严重错误。
在 Windows 事件日志中,我发现了这条消息:
“未能在模块 DLL G:\Mikey.dll 中找到 RegisterModule 入口点。数据为错误。”
在 DLL dpr 中调用 application.run 后,一些调试字符串向我显示了错误表面。
这里发生了什么?我怎样才能解决这个问题?我的开发工作需要这个部署。
请 - DLL 已获得执行代码的正确权限,并且应用程序池已正确配置 - 我的大量初始化代码在调用 application.run之前在 DLL 中执行- 所以这不是一个简单的配置或权限问题 - 503 错误并且事件日志条目也表明了这一点。