Вызов скрипта Python из .NET Web Service - PullRequest
0 голосов
/ 22 марта 2012

Возникла проблема при выполнении сценария 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 по сравнению с оболочкой, работающей под той же учетной записью?

1 Ответ

0 голосов
/ 23 марта 2012

Оказывается, это не имеет ничего общего с безопасностью.ESRI устанавливает свой экземпляр python и добавляет файлы .PTH в каталог Lib \ site-packages.

У меня установлены и ArcGIS Desktop, и сервер ArcGIS, и оба имеют Python-модуль ArcPy в этих каталогах программных файлов.Python импортировал неправильный модуль, потому что он был первым в пути.

Проблема задокументирована в этой ESRI KB.работал, когда учетная запись была в группе администраторов.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...