У нас есть много приложений, работающих под единственным сайтом IIS, но нужно работать в 32-разрядном пуле приложений из-за старой библиотеки, которой он пользуется.
Однако мы не можем в настоящее время делать этого, потому что существует два 64-разрядных фильтра ISAPI, настроенные на родительском сайте, что означает, что IIS выкладывает a Calling LoadLibraryEx on ISAPI filter
ошибка, когда Вы пытаетесь получить доступ к приложению, работающему в 32-разрядном пуле приложений.
Я нашел <isapiFilters>
элемент конфигурации (ссылка), но добавляющий это к web.config приложения с <remove>
элементы для каждого из фильтров, которые я хочу отключить, ничего не делают:
<isapiFilters>
<remove name="FILTER_1_NAME" />
<remove name="FILTER_2_NAME" />
</isapiFilters>
Я действительно не хочу отключать эти фильтры для всех приложений, работающих под этим сайтом, только ради этого.
Там какой-либо путь состоит в том, чтобы сделать это на прикладном уровне?
Нет, согласно документации , isapiFilters можно определить только на уровне сервера или сайта.
Вы можете поместить 32-битное приложение на отдельный сайт, а затем URL-перезаписывайте каждый запрос на него с основного сайта.Но это может привести к дополнительным проблемам / работе в зависимости от вашего приложения.