Я работаю с Process, и у него странное поведение.Мне нужно выполнить код с программой Process my WebSections.exe.Интересно, что, когда я передаю неправильные параметры, он показывает, что это неправильно, когда я передаю правильные параметры, он ничего не показывает, как будто он вообще ничего не выполняет.Таким образом, параметры для моей программы - это WebSections.exe f (файл .xml).Но если я вызываю те же параметры, что и в коде, но прямо из командной строки, это работает.
А также я прокомментировал .ExitCode, потому что он показывает: "System.Exception: Программа возвратила с кодом ошибки2 на простой странице.Но с этим прокомментированным, кажется, работает.
Process p;
ProcessStartInfo psi = new ProcessStartInfo();
psi.FileName = "C:\\inetpub\\WebSections\\Program\\WebSections.exe";
psi.Arguments = "f C:\\Users\\HrchM\\Desktop\\Program\\Current_Diagram\\diagramResult.xml";
psi.WorkingDirectory = "C:\\inetpub\\WebSections\\TempFolder";
psi.UseShellExecute = false;
psi.CreateNoWindow = true;
psi.RedirectStandardInput = true;
psi.RedirectStandardOutput = true;
psi.RedirectStandardError = true;
p = Process.Start(psi);
try
{
string output = p.StandardOutput.ReadToEnd();
p.WaitForExit(60000);
/* if (p.ExitCode != 0)// returns 255 when it can’t write to the temp folder (C:\inetpub\WebSections, CZ-CRM\IIS_IUSRS, Modify, replace all child objects)
throw new Exception("Program returned with error code " + p.ExitCode); */
ViewData["Content"] = output.ToString();
}
catch (Exception ex)
{
ViewData["Content"] = ex.ToString();
}
finally
{
p.Close();
p.Dispose();
}