我开发了一个 ISAPI 过滤器,它在 32 位上运行良好。我还使用 VS2005 交叉编译器将其编译为 64 位。但是当我尝试在带有 IIS-7.5 的 Windows 2008 R2 64 位服务器上运行它时,它不起作用。似乎过滤器 dll 已加载,但 IIS 没有对其执行任何操作。我使用以下命令来检查这一点。
任务列表/m mydll*
有什么建议
最佳答案
您需要 DLL 为 64 位有什么特殊原因吗?我已经能够通过执行以下操作在 64 位计算机上运行 32 位 ISAPI 过滤器:
确保 IIS 应用程序池设置为允许 32 位应用程序(默认情况下处于关闭状态)
使用 32 位版本的 regsvr32 注册 DLL:C:\Windows\SysWow64\regsvr32.exe
使用 Dependency Walker 验证 DLL 是否缺少任何依赖项:http://www.dependencywalker.com/
关于filter - ISAPI 筛选器无法在 Windows 2008 R2 64 位上运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7771202/