Процесс C # ничего не возвращает - PullRequest
0 голосов
/ 22 февраля 2019

Я работаю с 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();
        }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...