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)

これは Web サイトの 1 つのセクションにのみ必要であり、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 に答える