【发布时间】:2011-02-16 00:01:36
【问题描述】:
我正在尝试使用 System.Diagnostics.Process 从命令行在我的 ASP.NET 应用程序中使用非托管 ImageMagick 库。基本上,用户会将.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 的情况下,它与我使用 FPE 在 VS 中访问站点的帐户相同。
有谁知道我可以做些什么来让这个过程在我的生产服务器上运行?
谢谢,
迈克
【问题讨论】:
标签: asp.net process windows-server-2003 file-permissions