Как мне разрешить доступ к COM-компонентам через службу IIS?

Каков наилучший способ разрешить пользователю, подключающемуся к службе IIS, запускать процесс, который создает экземпляры COM-объектов?

Запуск процесса на основе COM на компьютере с учетной записью администратора работает нормально. Однако размещение приложения в IIS вызывает следующее исключение COM:

Не удалось получить фабрику класса COM для компонента с CLSID {yadda-yadda-yadda} из-за следующей ошибки... класс не зарегистрирован.

Класс действительно зарегистрирован. Прекрасно работает с учетной записью администратора. Я немного почитал, и, похоже, мне нужно, чтобы анонимная учетная запись использовала учетную запись администратора на коробке. Тем не менее, мои администраторы не хотят делать это из-за безопасности.

Какова лучшая практика здесь? Как мне это настроить?

ОБНОВЛЕНИЕ: Кстати, мы попытались установить анонимного пользователя в качестве учетной записи локального администратора, но все равно получили сообщение об ошибке.

1 ответ

Решение

Я нашел решение. Многие сообщения на форуме предполагали, что это проблема с разрешениями. Однако эта ссылка показала, что это проблема AppPool. Оказывается, вы должны настроить пул приложений для разрешения 32-битных приложений. Наш сервер является 64-битным сервером. Если вы зайдете в расширенные настройки пула приложений, есть опция "Включить 32-битные приложения". Установите это в истину. Boom! После этого работал как чемпион.

Другие вопросы по тегам