ASP Нет такого интерфейса поддерживается ошибка при создании объекта
У меня есть приложение Windows Forms, которое имеет сторонние элементы управления OCX. Следующая команда используется для создания объекта во время выполнения.
myObject = myApplication.CreateObject("ML.MFinder", True)
это работает правильно, и progID также правильно. Проблема заключается в том, когда я делаю то же самое в проекте asp, где я получаю следующую ошибку:
System.Runtime.InteropServices.COMException: No such interface supported
в ML.MApplicationClass.CreateObject(String ProgID, Boolean Allocate)
Странно, потому что другие объекты ocx работают правильно и в проекте asp. Я использую IIS 5.1, Windows XP Pro SP3 и Framework 3.5. Также я зарегистрировал OXX вручную.
2 ответа
Требуется ли для этого элемента управления ocx какой-либо определенный доступ на чтение и запись в файловой системе? Если это так, то вам нужно предоставить права на уровне файловой системы: IUSR_XXXXX = READ + EXECUTE.
Вы также должны проверить, отсутствует ли какая-либо зависимость, используя инструмент Dependency Walker.
Вы получаете какой-либо идентификатор класса в исключении? Если это так, то проверьте, присутствует ли этот classid в реестре.
Под IIS у вас нет тех же правил для доступа к внешним файлам или DLL. Я думаю, что с файлами OCX IIS может быть еще более ограничительным.
Я не думаю, что проблема в ссылке или что-то в этом роде. Как вы сказали, вы уже зарегистрировали OCX, но есть ли у этого OCX также некоторые зависимости? Они также должны быть надлежащим образом зарегистрированы.