简单地说,我在 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 身份验证。