ASP.NET核心中的通信

时间:2017-05-09 09:01:30

标签: c# asp.net-core asp.net-core-mvc asp.net-core-1.1 modbus-tcp

情况:

我需要在ASP.NET Core项目中通过Modbus TCP / IP创建某种通信控制部分。

通信与Modbus正常工作,但我需要在pernamently读取一些Modbus地址,我需要设置它们的间隔。我在db中有这样的结构。

我现在有一个名为CommunicationRepository的单例,它是此协议的控制器,具有从模块读取,写入模块,具有模块数据结构等的方法,并创建CommunicationRunners。

CommunicationRepository Diagram

CommunicationRunner可以等待超过间隔,而不是来自CommunicationRepository的fire委托 - 然后它会读取特定的Modbus地址。

CommunicationRunner Diagram

问题: 现在它是由异步完成的,这会减慢其他所有内容 - 在页面中导航,来自web api的响应等。当然,这个问题可以在很短的时间间隔内识别出来(例如10ms)。

我怎样才能让这个更稳定,没有烦扰?我必须使用线程吗?如果,那究竟是怎么回事?

我很感激一些代码示例。

谢谢你,看看图片。

0 个答案:

没有答案