显示从 ASP.NET MVC 中的命令行进程获取的数据

Posted

技术标签:

【中文标题】显示从 ASP.NET MVC 中的命令行进程获取的数据【英文标题】:Show data that is obtained from command line process in ASP.NET MVC 【发布时间】:2021-11-07 15:36:24 【问题描述】:

在 c# wpf 中,我可以将基于命令行的应用程序添加到我的应用程序中,并使用 System.Diagnostics 在富文本框中发送输入和显示输出。现在我想在 ASP.NET MVC 中实现它。

我知道如何使用 ajax 将数据从 javascript 发送到控制器,并且控制器会进行一些处理并返回结果并将其显示在视图中。但问题是,来自该进程的数据正在通过这样的事件异步接收:

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

我想要做的是将此接收到的文本 (outline.data) 异步添加到视图中的段落中。只有当我想运行 ActionResult 方法并等待我的响应并且在收到所有行之后,Ajax 才有效,然后它将结果发送回 javascript。但我想准确地显示每条收到的线路到达的那一刻。我该怎么做?

【问题讨论】:

【参考方案1】:

使用 SignalR 解决了我的问题。使用该库,我可以调用 asp.net 函数并在 javascript 中发送数据,反之亦然。为了识别每个客户,我存储了他们的连接 ID,以便在准备好时将结果发回给他们。

【讨论】:

以上是关于显示从 ASP.NET MVC 中的命令行进程获取的数据的主要内容,如果未能解决你的问题,请参考以下文章

使用 MVC 6 在 ASP.NET 5 中显示从 WebRequest 获取的 JSON 数据

从本地 json 文件中获取数据并显示在 html asp.net mvc 中

从 ASP.NET MVC 中的字符串获取 Html 代码

如何从 ASP.net MVC 程序中获取纯 c# 程序中的 JSON 数据?

asp.net mvc 从视图中的文本框获取数据返回存储过程以编辑记录

我没有从 ASP.NET MVC 中的控制器获取值