首页 > 解决方案 > SignalR - 从 Windows 服务中的串行端口读取

问题描述

我需要在我的 Windows 服务中从 SerialPort 读取数据,该服务使用 SignalR 与连接到该串行端口的 RFID 阅读器进行通信。在读取数据时,我想向信号器客户端发送数据。我不知道如何使它在服务中工作。我也找不到任何可行的解决方案来解决这个问题。

标签: c#serial-portwindows-servicessignalrrfid

解决方案


正如@TheGeneral 评论的那样,您有多个问题需要解决。您没有提供框架,所以我引用的是 4.xx 和 SignalR 2.4.1 的较低级别(不是 .NET CORE 版本,尽管适用相同的原则)。

  1. 创建一个Windows 服务
  2. 您的 Windows 服务可以使用.Net 客户端并成为客户端。
  3. 在您的 Windows 服务中,您可以读取来自串行端口的数据。
  4. 使用读取的数据,服务可以调用 HUB 中的方法。
  5. 您的 HUB 可以使用 Clients.Others 进行广播,以向除您的服务之外的所有客户端发送消息。

您将需要计算连接的生命周期、连接失败或不可用时服务中发生的情况等。


推荐阅读