我们在单个 IIS 站点下运行了许多应用程序,但由于它使用的库较旧,因此需要在 32 位应用程序池中运行。
但是,我们目前无法做到这一点,因为在父站点上设置了两个 64 位 ISAPI 过滤器,这意味着Calling LoadLibraryEx on ISAPI filter
当您尝试访问在 32 位应用程序池中运行的应用程序时,IIS 会发出错误。
我找到了<isapiFilters>
配置元素(参考),但是将其添加到应用程序的 web.config 中,并添加<remove>
我想要禁用的每个过滤器的元素,却没有任何作用:
<isapiFilters>
<remove name="FILTER_1_NAME" />
<remove name="FILTER_2_NAME" />
</isapiFilters>
我并不想为了这个而禁用在这个网站下运行的所有应用程序的这些过滤器。
有什么方法可以在应用程序级别做到这一点吗?
答案1
不,根据文档,isapiFilters 只能在服务器或站点级别定义。
您可以将 32 位应用程序放入其自己的站点,然后从主站点对它的每个请求进行 URL 重写。但这可能会导致更多问题/工作,具体取决于您的应用程序。