【发布时间】:2015-05-28 18:41:55
【问题描述】:
我需要有关我的 azure 项目的帮助。
我有一个工人和一个网络角色。在工作角色中,我有 TCP 监听器 在 Run() 方法中接受连接。每次连接被接受 我创建了处理接受的客户端的新线程。我从物联网设备发送数据。 每 1100 毫秒 6 个字节。我从这 6 个字节中得到了两个整数值。
在网络角色中,我使用两个 asp 托管 asp.net 网页。网图和按钮开始。 我需要定期添加这些整数值,以便我有趋势并且客户可以实时看到变化。 首先,我使用 azure queue 实现角色之间的数据事务,将消息放入 worker 角色的队列中,并在 web 角色中读取。
我将图表放在更新面板中并设置计时器以每 1 秒刷新一次。 我通过单击开始按钮启用计时器。 在计时器事件中,我从队列中读取消息,处理它并删除它。 后来我意识到这种情况很糟糕,因为如果我有两个客户端在不同的计算机上观看网页怎么办(一个删除消息而其他人看不到它)。第二个问题是我只想显示最近 2 分钟的趋势(4 月 100 条消息),我不能保证队列中有 100 条消息,并且因为 azure 队列是 FIFO 我可以读取旧数据。
更合理的情况是,每次我准备好发送一条消息时,我都会从工作角色推送消息,而在客户端设法只有 100 点哦图表。或者我可以编写长拉代码,以便客户端定期从服务器获取消息。我正在阅读有关第一个解决方案的 signalR 的第二个解决方案的经典 ajax jquery。
我不确定我是否走上了解决这个问题的正确道路?工作角色是否可以使用 signalR 将数据推送到所有客户端,或者我可以在 Web 角色中实现 jquery。我有点困惑,这是否可以按我计划的方式工作,或者我的概念是错误的。
【问题讨论】: