有没有办法在IIS 7.5中的应用程序(非网站)级别禁用ISAPI筛选器?

我们有许多应用程序在单个IIS站点下运行,但是由于它使用的是旧库,因此需要在32位应用程序池中运行。

但是,我们目前不能这样做,因为在父站点上设置了两个64位ISAPI筛选器,这意味着当您试图访问运行在32位应用程序的应用程序时,IIS将吐出一个Calling LoadLibraryEx on ISAPI filter错误的Calling LoadLibraryEx on ISAPI filter应用程序池。

我find了<isapiFilters>configuration元素( 引用 ),但将其添加到应用程序的web.config中,每个要禁用的filter的<remove>元素都不会执行任何操作:

 <isapiFilters> <remove name="FILTER_1_NAME" /> <remove name="FILTER_2_NAME" /> </isapiFilters> 

我真的不想为这个网站上的所有应用程序禁用这些filter,只是为了这个。

有没有办法在应用程序级别执行此操作?

不,根据文档 ,isapiFilters只能在服务器或站点级别上定义。

您可以将32位应用程序放入其自己的站点,然后从主站点URL重写每个请求。 但是这可能会导致更多的问题/工作取决于您的应用程序。