【发布时间】:2015-11-11 11:04:49
【问题描述】:
我在工作中遇到了一个问题,我希望这里的人可以提供帮助。
在不详细介绍应用程序本身的情况下,我们有一个需要使用 SignalR 的位置服务。这个想法是每个客户端(当我说“客户端”时,我的意思是“使用应用程序的人”)将被分配给一个特定的“任务”,并每 2 秒(可配置)将其 GPS 位置发送给 Azure 工作者角色,它将接收到的数据存储在两个 Azure 表中。然后,第二个工作角色将从表中获取数据并向执行给定任务的每个客户端发送 SignalR 消息,其中包含分配给同一任务的所有其他客户端的位置。
我目前拥有的是一个测试客户端(目前是 Winform,但它将是一个 UWP 应用程序),它可以成功地使用 SignalR 将位置消息直接发送到其他客户端,我不认为它会太很难插入 Azure 端的东西,但我的问题是弄清楚如何使用 SignalR 组来确保消息只发送到特定任务(我想最好的方法是用 ID 命名组任务),但是当首次建立集线器连接时,没有用于命名组的任务 ID,并且创建任务的代码点没有任何直接访问集线器信息的权限。我可能遗漏了一些明显的东西,但现在似乎没有任何方法可以将客户端添加到与创建任务时最初连接到的同一集线器连接上的组中。
TL-DR:我有没有办法将客户端添加到具有特定名称的 SignalR 组中,从另一个项目中的类,在应用启动时连接的集线器上?
【问题讨论】: