Назад | Перейти на главную страницу

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

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

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

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

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

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

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

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