在寻找了几天的明确答案后,我决定自己在这里问。
在我的公司,我的任务是制作一个用于气体和火灾检测的 Web 应用程序。它通过 modbus tcp/ip 与 modbus 库进行对话。这种连接工作得非常好,它每秒读取大约 1 次(尽管我可以很容易地调整它)。
我对asp.net mvc模型中的AsynControllers和async-await任务有很多关注。问题是我必须让这个工作不停。因此,当我的应用程序第一次启动时(打算永远不会关闭它,因为它将是一个控制室类型的应用程序),我的应用程序需要开始阅读并继续阅读,同时将此信息放入数据库中,所以我可以将此数据库用于应用程序的其余部分。由于它是火灾检测,因此此更新需要始终并且几乎立即起作用。
我正在考虑在 global.aspx 中调用它,以便它在启动时运行。但是当然,当我调用此方法时,它只会阻止我的完整应用程序。我怎样才能使这项工作?
任何帮助将不胜感激。
编辑:
它似乎可以添加:Task.Factory.StartNew(() => { ModbusDB.Main(); });
到 global.aspx!