首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >将消息从Azure worker角色推送到web角色中托管的asp.net网页

将消息从Azure worker角色推送到web角色中托管的asp.net网页
EN

Stack Overflow用户
提问于 2015-05-28 06:37:28
回答 1查看 146关注 0票数 0

我需要关于我的azure项目的帮助。

我有一个工人和一个网络角色。在worker角色中,我有TCP侦听器,它接受Run()方法中连接。每次连接被接受时,我都会创建新的线程来处理接受的客户端。我从物联网设备发送数据。每1100ms 6字节。我从这6个字节中得到了两个整数值。

在网络角色中,我用两个asp托管asp.net网页。net图表和按钮启动。我需要定期添加这些整数值,以便我有趋势,客户端可以实时看到变化。首先使用azure queue实现角色间的数据交互,将消息放入worker角色的队列中,并在web角色中读取消息。

我将图表放在更新面板中,并将计时器设置为每隔1秒刷新一次。我用点击开始按钮启用计时器。在计时器事件中,我从队列读取消息,对其进行处理并将其删除。第二个问题是,我只想显示最后2分钟的趋势( 100个消息4月),我不能保证我将有100个消息在队列中,因为azure队列是FIFO,我可以读取旧数据。

更多的情况是,每当我准备好要发送的消息时,我都会从工人角色推送消息,而在客户端,我只有100分哦图表。或者,我可以编写长拉代码,以便客户端定期从服务器获取消息。我读到了signalR for first solution和经典的ajax jquery for second。

我不确定我是否走在解决这个问题的正确道路上?工作者角色是否可以使用signalR将数据推送到所有客户端,或者我是否可以在web角色中实现jquery。我有点困惑,这是否能按我计划的方式工作,或者我的概念是错误的。

EN

回答 1

Stack Overflow用户

发布于 2015-05-28 18:41:55

您应该使用signalr。

signalr由两部分组成: 1.多个signalr客户端。2.一个signalr服务器。

signalr客户端可以是定义了JavaScript函数的简单html或.aspx文件。

signalr Server可以是控制台、winform或服务。

signalr Server还可以调用任何内部/外部dll、webservices、webapi等等。

如果signalr服务器中有任何新数据,服务器可以调用客户端的JavaScript函数来更新客户端的页面内容,因此您不必在客户端使用计时器来每秒从服务器检索数据。

您还可以将整个最新数据集存储在服务器中,以便当有新的客户端连接时,客户端可以立即获得最新数据。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30494298

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档