替代在mvc .net核心应用程序中启动线程?

问题描述:

我们制造工厂内部有多种仪器,它们以不同的速度将数据插入数据库内的多个表格。替代在mvc .net核心应用程序中启动线程?

每条生产线上都有一台计算机连接到网页上,操作员输入分配的作业编号并显示一些相关信息。

我们的目标是根据工厂设备插入的数据显示指示。状态与原材料可用性,仓库存储可用性,温度范围等有关。

我最初的想法是通过产生一条线来修改当前的MVC应用程序,每条生产线每隔10秒扫描插入的信息,并可能推送数据槽通过signarlR来建议操作员。我读到MVC应用程序中的起始线程是一种不好的做法,可能会影响IIS管理线程的方式。

我想知道如果不使用单独的线程,如何在MVC中承载独立于快速回归的进程?

谢谢你的时间!

是的,开始轮询线程可能不是这里最好的方法。我可能会建议的另一种解决方案是将您所谓的工具(即当前正在插入数据)修改为SignalR客户端,并在每次插入一些数据时向服务器广播一条消息。然后SignalR服务器可以简单地将此消息广播到与之连接的JavaScript SignalR客户端。通过这种方式,您可以在生产数据的仪器和可以实时显示此数据的浏览器客户端之间实现(通过SignalR服务器)的直接通信。

+0

对不起,我会添加更多信息。这些设备使用梯形图编程的PLC,这是工业和实时的。它确实支持数据库上的CRUD操作。 –

+0

此外,我想保留服务器上的业务规则计算,因为我们正在越来越多地将数据集成到其他系统(如ERP)。 –

+0

然后,您可能想要抽象一些您的设备将调用的API背后的CRUD操作,以便您可以轻松地通知SignalR服务器关于传入更新。相信我,你完全不希望在ASP.NET应用程序中产生轮询线程。这就像想要在脚下开枪一样。 –