Я пытаюсь использовать неуправляемую библиотеку 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