Показать данные, полученные из процесса командной строки в ASP.NET MVC

#javascript #c# #asp.net-mvc #model-view-controller

Вопрос:

В c# wpf я могу добавлять приложения на основе командной строки в свое приложение, отправлять входные данные и отображать выходные данные в окне richtextbox с помощью System.Диагностика. Теперь я хочу реализовать это в ASP.NET MVC.

Я знаю, как отправлять данные из javascript на контроллер с помощью ajax, и контроллер выполняет некоторую обработку, возвращает результат и показывает его в поле зрения. но дело в том, что данные из этого процесса поступают асинхронно в результате такого события, как это:

 private void SortOutputHandler(object sendingProcess, DataReceivedEventArgs outLine)
{
  // For each line that is printed in the console, this event will be executed and the 
  // text from that line can be received by outLine.data
}
 

То, что я пытаюсь сделать, — это асинхронно добавить полученный текст (контур.данные) в абзац, который вы видите. Ajax работает только в том случае, если я хочу запустить метод ActionResult и дождаться моего ответа, а после того, как все строки будут получены, он отправит результат обратно в javascript. Но я хочу показать каждую полученную строку точно в тот момент, когда она появилась в поле зрения. Как я могу это сделать?

Ответ №1:

Использование SignalR решило мою проблему. С помощью этой библиотеки я мог бы назвать asp.net функция и отправка данных в javascript и наоборот. чтобы распознать каждого клиента, я сохранил их идентификатор подключения, чтобы отправить им результат, когда он будет готов.