1
簡單地說,我遇到了在C#Web應用程序中使用輸入參數執行Perl腳本的問題。我從控制檯應用程序執行代碼沒有問題,但在我的Web應用程序中,我沒有收到任何迴應。在C#Web應用程序中執行Perl腳本時遇到問題
我使用的代碼是:
ProcessStartInfo cmdStartInfo = new ProcessStartInfo();
cmdStartInfo.FileName = "C:\gnu\perl.exe";
cmdStartInfo.Arguments = "run.pl --day=1 --format=2";
cmdStartInfo.RedirectStandardOutput = true;
cmdStartInfo.RedirectStandardError = true;
cmdStartInfo.RedirectStandardInput = true;
cmdStartInfo.UseShellExecute = false;
cmdStartInfo.CreateNoWindow = true;
cmdStartInfo.WorkingDirectory = TEMP_DIRECTORY;
Process cmdProcess = new Process();
cmdProcess.StartInfo = cmdStartInfo;
cmdProcess.OutputDataReceived += cmd_DataReceived;
cmdProcess.EnableRaisingEvents = true;
// Start
cmdProcess.Start();
cmdProcess.WaitForExit();
和
static void cmd_DataReceived(object sender, DataReceivedEventArgs e)
{
// Breakpoint to DEBUG here
string result = e.Data;
}
我使用IIS 7,我不知道這是一個問題在那裏?我正在使用身份模擬和Windows身份驗證。
作爲更新,我可以在使用Visual Studio開發服務器時成功獲取信息,但不能在IIS服務器上獲取信息。 – Garrett
如果CreateNoWindow爲false,它會工作嗎? ActivePerl帶有一個'wperl.exe',它在沒有控制檯的情況下工作,但我認爲'perl.exe'需要一個控制檯。 – ikegami
你到底有什麼錯誤?你檢查錯誤流的信息? –