3

在工作中构建一个 ASP.NET MVC3 应用程序,我正在尝试使用一个必须通过命令提示符启动并传递参数的程序。

目前我正在...

System.ComponentModel.Win32Exception (0x80004005): Access is denied 
at System.Diagnostics.Process.StartWithShellExecuteEx(ProcessStartInfo startInfo) 
at System.Diagnostics.Process.Start() 
at System.Diagnostics.Process.Start(ProcessStartInfo startInfo)

这只需要网站的一个部分,我不确定在保持安全性的同时允许 IIS (6) 完成此操作的最佳过程是什么。

我认为这无关紧要,但以防万一这里是我用来启动的代码Process()

try {
    ProcessStartInfo startInfo = new ProcessStartInfo();
    startInfo.FileName = @"C:\pdftohtml\pdftohtml.exe";
    startInfo.Arguments = "-c " + NewsletterPath + @"\" + fileName + ".pdf";

    Process.Start( startInfo );
} catch( Exception ex ) {
    return ex.ToString();
}

简而言之问题:

允许 IIS6 启动需要通过命令提示符传递参数同时保持安全性的新进程的最佳方法是什么?

4

1 回答 1

5

授予运行 IIS(通常是 ASPNET)的用户对目录的访问权限c:\pdftohtml\,这将解决它。

于 2012-05-13T07:42:58.553 回答