C#进程StandardOutput.ReadToEnd在服务器上返回空字符串

时间:2019-04-16 14:55:27

标签: c# iis process redirectstandardoutput

我正在尝试从可执行文件中读取输出。 问题是它可以在我的本地IIS上运行,但是当部署到服务器上时却不能。

            using (var proc = new Process())
            {
                proc.StartInfo = new ProcessStartInfo();
                proc.StartInfo.FileName = exePath;
                proc.StartInfo.Arguments = countryArg + topResultAgr + imagePath;
                proc.StartInfo.UseShellExecute = false;
                proc.StartInfo.RedirectStandardOutput = true;
                proc.StartInfo.CreateNoWindow = true;

                var didProcStart = proc.Start();
                var results = new List<LPRResponse>();
                var readResult = false;
                var debugResult = "LICENSEPLATEREQ - ";
                debugResult += "\r\n#Didprocessstart: " + didProcStart;

                string resultsRaw = proc.StandardOutput.ReadToEnd();
                proc.WaitForExit();

                debugResult += "\r\n#rawresult: " + resultsRaw;
                _logger.Info(debugResult);

                return results;
            }

因此,当此代码在本地运行时,proc.StandardOutput.ReadToEnd()从命令行返回结果,但是在服务器上运行时,它返回空值。

我尝试检查的内容:

  • 我正确拥有.exe路径
  • 我的论点正确
  • exe确实启动了

我不确定其他地方我做错了什么。

0 个答案:

没有答案