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