Веб-служба IIS, вызывающая COM dll, которому требуется доступ к общей папке Unix - PullRequest
0 голосов
/ 14 апреля 2009

У нас есть веб-сервис, который использует COM для связи с некоторыми DLL. Файлы данных, на которые полагаются функции DLL, находятся на общем ресурсе Unix, и мы должны указать местоположение файла данных при инициализации вызовов COM. Мы установили SFU 3.5 на нашем сервере Windows Server 2003. Мы не можем использовать подключенный диск, потому что IIS работает как служба (или мы можем?). Использование UNC, похоже, тоже не работает: как вошедший в систему пользователь завершается неудачно при первом входе в местоположение, а затем работает. Я не знаю, как проверить это с точки зрения IIS, так как все, что мы получаем из DLL - это ошибка «Недопустимое местоположение файла данных». Unix-ресурс открыт [имя пользователя / пароль не требуется].

Возможно, проблема вовсе не в IIS, а в том, что DLL должны иметь доступ к UNC или подключенному диску? В конце концов, это DLL, которая на самом деле обращается к файлам данных, а не IIS или исполняемый файл веб-службы.

Я очень мало знаю о COM, DCOM, COM +. Принимая Сервисы компонентов, я не могу найти COM-объекты, которые мы используем. [Но я могу найти их, используя MS OLEVIEW в разделе «Объекты автоматизации»].

Какие у меня есть варианты?

1 Ответ

0 голосов
/ 15 апреля 2009

Веб-служба загружается в процесс aspnet_wp.exe, который запускается под пользователем ASPNET. Вы можете присоединиться к этому процессу и выполнить отладку, если у вас есть исходные коды, а код скомпилирован с отладочной информацией (создается файл .pdb).

Вы должны иметь возможность использовать общие файловые ресурсы UNC, если они имеют надлежащие ограничения доступа. Поскольку веб-служба запускается от имени локального пользователя, у вас могут быть ограничения доступа к настройкам жесткого диска на файловом сервере, поскольку он не знает, как проверять учетные данные. В этом случае вы можете создать приложение COM + для размещения ваших компонентов COM и запустить его под отдельной учетной записью.

...