在Azure辅助角色中使用SignalR [英] Using SignalR in Azure Worker Roles

查看:16
本文介绍了在Azure辅助角色中使用SignalR的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个Azure托管的Web应用程序,它与许多工作者角色实例一起工作。目前,web应用程序通过将消息放入Azure队列中以供工作人员拾取来将工作传递给这些工作人员。工作进程通过将消息放入"反馈"队列来传回状态和进度消息。目前,为了通知我的浏览器客户端进度,我在浏览器中对MVC控制器方法进行了基于Ajax的定期轮询调用,该方法进而读取Azure‘Feedback’队列,并将这些消息作为json返回给浏览器。

显然,与这种笨拙的轮询/排队方法相比,SignalR看起来是一个非常有吸引力的替代方法,但是当我们讨论需要向单个或所有客户端发送状态的多个工作人员角色(而不是Web角色)时,我几乎没有找到关于如何执行此操作的指导。

SignalR.WindowsAzureServiceBusby Clemens vasters看起来很棒,但最后有点干,即缺少好的示例解决方案。

添加注释:根据我到目前为止的阅读,似乎不可能通过SignalR方法从员工角色(而不是web角色)直接通信到浏览器客户端。看来,员工必须使用队列与Web角色进行通信。这进而强制采用轮询方法,即必须轮询队列以获取来自工作者角色的消息-此轮询必须从出现的浏览器发起(驱动)(如何在Web角色中设置轮询循环?)

总之,SignalR即使使用Clemens Vaster的SignalR.WindowsAzureServiceBus横向扩展方法,也无法处理从工作人员角色到浏览器的直接通信。

如果专家提出任何意见,我们将不胜感激。

推荐答案

您可以将工作人员角色用作SignalR客户端,以便它们将消息发送到Web角色(即SignalR服务器),然后Web角色将消息转发到客户端。

这篇关于在Azure辅助角色中使用SignalR的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆