Использование приложения командной строки с моим приложением asp. net - PullRequest
0 голосов
/ 01 марта 2020

Я делаю свой последний годовой проект, внедряя обучающее веб-приложение с использованием ASP. NET Ядро, однако на некоторых страницах мне нужно, чтобы пользователь взаимодействовал с каким-либо приложением командной строки, где эти команды должны отправляться на основе заданного вывод из приложения командной строки. У меня нет проблем с отправкой по команде, но когда дело доходит до второй команды, у меня возникает несколько проблем. вот код

public static Process process = new Process()
    {
        StartInfo = new ProcessStartInfo
        FileName = "cmd",
        RedirectStandardOutput = true,
        RedirectStandardInput = true,
        UseShellExecute = false,
        CreateNoWindow = true,

        }
    };

Это мое определение для моего процесса, который я создал вне функции, потому что мне нужно использовать один и тот же процесс несколько раз, пока пользователь не покинет страницу. Для process.Start(); я поставил с функцией просмотра страницы, поэтому процесс уже запущен и никаких проблем с ним нет.

    public IActionResult acceptingInputFromUser(string input)
    {

        string result;
        try
        {
            StreamWriter sw = process.StandardInput;
            StreamReader rd = process.StandardOutput;


            using (process.StandardInput)
            {

                sw.WriteLine(input);
                sw.Flush();
                sw.Close();
                result = process.StandardOutput.ReadToEnd();
            }
        }catch (Exception ex)
        {
             result = ex.ToString();
        }

        return Json(result);

    }

Здесь, где проблема , один раз пользователь отправляет любой ввод, который примет первый раз, и выдаст результат, однако, когда он отправляет другой запрос, он говорит:

Невозможно записать в закрытый TextWriter

У меня есть пробовал несколько способов, но пока не смог найти решение. Может ли кто-нибудь помочь мне с этой ошибкой, например, как я могу снова открыть Textwriter или есть какой-либо другой эффективный способ, где я могу свободно использовать CMD.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...