我有一个想要做的项目,涉及一个将串行数据发送到Raspberry Pi的Arduino,Raspberry Pi将数据显示在屏幕上并更新API。我想要一个桌面应用程序,该应用程序还显示发送到API的数据。为了对这些技术有所了解,最初发送的唯一数据将是在Raspberry Pi上运行的秒表计时器的状态,即IE运行与停止。我知道定期从应用程序访问API以检索新数据会很简单,但是我希望在API收到新信息时对应用程序进行更新。我在考虑某种订户系统,我想要更新的应用程序可以订阅API,并且将同时全部更新。
API将以点网核心2.2编写。桌面应用程序将在点网框架4.7.2中使用WPF编写。用于Arduino或Raspberry Pi的其他语言或框架不相关。
每当将新数据推送到API时,如何将数据从点网核心API推送到WPF应用程序?这是个好方法吗?任何用于此目的的信息,建议或相关技术/框架/本机C#工具都将不胜感激。
答案 0 :(得分:2)
您似乎需要Web套接字。
与HTTP相对应的Web套接字在客户端和主机之间创建持久连接,从而允许主机将数据实时推送到客户端。
我建议SignalR作为易于使用的Web Socket框架,可以将其轻松添加到.NET Core应用程序中。
在订购系统的Microsoft EShopOnContainers repo中可以找到SignalR的一个很好的例子。
在主API和SignalrHub之间使用消息队列,但是您可以轻松地将两者组合在一起以形成简单的应用程序。