Я пытаюсь прочитать вывод из исполняемого файла.
Проблема в том, что он работает на моем локальном 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 начался
Я не уверен, что еще я делаю неправильно.