BarTender Print Portal 错误 500.0:调用 ISAPI 筛选器“xxx”上的 xx 失败
症状
在尝试加载 BarTender Print Portal(BPP)时,您会收到指向以下 dll 文件的 500.0 错误:
适用环境
-
BarTender Print Portal
-
BarTender 2019 及以上版本
解决方法
这并不是 BarTender 的错误,而是 IIS 的设置问题。当请求加载网页时,IIS 会遍历一系列 ISAPI 过滤器,本质上就是一组 dll 文件。IIS 会尝试加载这些列表中的 dll 文件,直到找到所需的内容。
当其中一个过滤器是 64 位操作系统上的 32 位 DLL 时,就会出现这个问题。由于 BarTender 在运行 BPP 时必须与操作系统的位数一致,因此会导致位数冲突。
要查找可能存在的冲突,请按以下步骤操作:
- 打开 IIS 管理器
- 展开站点,然后点击托管 BPP 的站点,默认是“Default Web Site”
- 点击 ISAPI 过滤器(位于 IIS 部分)
- 查找与网页浏览器中提示信息相符的过滤器地址
BPP 只使用两个 ASP.Net 过滤器,这两个过滤器都不会导致 ISAPI 过滤器错误。
如果有问题的过滤器无法移除(因为 IIS 上的其他站点依赖它们),可以考虑将 BPP 移到独立的站点。IIS 支持托管多个站点。
这里的两个站点可以运行在不同的 IP 地址、主机名或端口上。我们不对这些运行方式做具体推荐,因为这超出了我们的建议范围。
重要提示:在启动新的 BPP 之前,请检查新站点的 ISAPI 过滤器。IIS 会复制默认网站的设置,因此有问题的过滤器可能会被带过去。
其他资源
请参考微软的 ISAPI 过滤器概述 了解更多信息。
仅供内部参考
如何在 IIS 上运行多个站点 - 非官方 IIS 多站点运行方法。