Доступ запрещен при использовании System.Diagnostics.Process - PullRequest
0 голосов
/ 05 мая 2010

Я пытаюсь использовать неуправляемую библиотеку ImageMagick в своем приложении ASP.NET из командной строки, используя System.Diagnostics.Process. Обычно пользователи загружают на сайт файл .eps, а затем я запускаю команду командной строки, чтобы преобразовать его в .jpg. Вот код, который я использую, чтобы попытаться выполнить команду:

        Dim proc As New System.Diagnostics.Process
        proc.StartInfo.RedirectStandardOutput = True
        proc.StartInfo.RedirectStandardError = True
        proc.StartInfo.FileName = "C:\Program Files (x86)\ImageMagick-6.6.1-Q16\convert.exe"

        proc.StartInfo.UseShellExecute = False
        proc.StartInfo.Arguments = String.Format("{0} {1}", Server.MapPath("~/logo/test.eps"), _
                                                 Server.MapPath("~/certificates/temp/test-1234.jpg"))
        proc.StartInfo.CreateNoWindow = True
        proc.Start()

Я могу нормально запускать этот код на нашем сервере разработки Win 2k3, но не на нашем рабочем сервере Win 2k3. Я получаю сообщение об ошибке «System.ComponentModel.Win32Exception: доступ запрещен». Основным между двумя серверами является то, что производство является 64-битным и запускает Plesk для управления несколькими доменами. Я попытался добавить права пользователя asp.net в каталог ImageMagick. Администратор PS говорит, что в случае Plesk это та же учетная запись, которую я использую для доступа к сайту в VS с использованием FPE.

Кто-нибудь знает, что я могу сделать, чтобы этот процесс мог выполняться на моем производственном сервере?

Спасибо

Mike

1 Ответ

1 голос
/ 05 мая 2010

Необходимо убедиться, что фактическому удостоверению пула приложений предоставлены права на запуск приложения. Я считаю, что plesk создает конкретного пользователя для каждого домена, когда вы настраиваете его на сервере.

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

Я предполагаю, что у вас просто нет прав, предоставленных для правильного пользователя.

...