Возникла проблема при выполнении сценария Python из веб-службы .NET.
Веб-службы создают System.Diagnostics.Process
для python.exe и передают путь сценария Python в качестве аргумента.
Веб-сервис работает как пользовательская локальная учетная запись.Сценарий python завершается успешно, если я добавляю настраиваемую локальную учетную запись в группу администраторов, но я не могу сделать это как решение.
Сценарию Python не удается импортировать библиотеку из ESRI с именем ArcPy.Похоже, что этот модуль использует Java JAR для вызова ArcObjects из (API ESRI).
Сбой только при запуске в контексте веб-сервиса.Если я открою оболочку cmd с помощью runas, чтобы запустить ее как пользовательскую учетную запись пула веб-приложений, и вызову скрипт python, то он будет работать нормально (даже если учетная запись пула приложений отсутствует в группе администраторов).Требуется только быть в группе администраторов при запуске в качестве веб-службы.
Я просматривал procmon для записей из w3wp.exe и python.exe, но я не нашел ничего, что мне нужно, чтобы изменить разрешенияfor.
Мне интересно, почему он работает из оболочки, работающей в качестве учетной записи пула приложений, но не из веб-службы.
Я предоставляю каждую локальную политику назначения прав пользователя учетной записи пула приложений.но это не сработало, поэтому я исключил это.
Я также изменил пул приложений веб-службы для загрузки профиля пользователя, но это тоже не помогло.
Чтоотличается от среды выполнения, когда system.diagnostics.process
запускается в контексте пула приложений IIS по сравнению с оболочкой, работающей под той же учетной записью?