在Windows Azure工作人员角色和web角色中使用信号器

在Windows Azure工作人员角色和web角色中使用信号器,windows,azure,signalr,azure-web-roles,azure-worker-roles,Windows,Azure,Signalr,Azure Web Roles,Azure Worker Roles,您是否可以创建一个可以从工作者角色和web角色向客户端发送消息的中心,或者创建多个可以向客户端发送消息的不同工作者角色 或者是使用SignalR向客户端发送消息的推荐方法,即使用web角色处理向客户端发送的所有消息,并使用队列将所有其他角色的消息发送给客户端。我看到的另一个选项是,我将为每个工作人员角色和web角色提供一个集线器,您将连接到几个不同的集线器?这对我来说似乎是个糟糕的方法 我们托管服务的最终目标是至少有2个web角色和3-5个worker角色,并且系统非常受事件驱动,希望在发生事件

您是否可以创建一个可以从工作者角色和web角色向客户端发送消息的中心,或者创建多个可以向客户端发送消息的不同工作者角色

或者是使用SignalR向客户端发送消息的推荐方法,即使用web角色处理向客户端发送的所有消息,并使用队列将所有其他角色的消息发送给客户端。我看到的另一个选项是,我将为每个工作人员角色和web角色提供一个集线器,您将连接到几个不同的集线器?这对我来说似乎是个糟糕的方法


我们托管服务的最终目标是至少有2个web角色和3-5个worker角色,并且系统非常受事件驱动,希望在发生事件时将消息推送到web客户端,并且不要在事件管道中添加另一个阶段来向连接的客户端发送消息。

您可以让Azure worker角色通过Ajax或向web角色发出请求。然后,您可以让web角色代理从工作者角色发送到“普通”(大概是JS)客户端的消息。您可以使用组或特殊的工作者角色中心来区分工作者角色客户端和普通客户端


如果您想将来自工作人员角色的消息作为Ajax响应的一部分进行代理,那么您可能需要看看如何使用
GetHubContext

我找到了答案:您可以这样做。如果您创建了一个和GlobalHost.DependencyResolver.UseServiceBus(serviceBusConfiguration);我找到了答案:你能做到。如果您创建了一个和GlobalHost.DependencyResolver.UseServiceBus(serviceBusConfiguration);您可以像在webrole中一样使用IHubContext,它将在worker角色中工作。我知道您正在将信号器消息从worker角色发送到背板,而web角色将消息广播到连接的客户端?你能详细说明你是怎么做到的吗?您是否需要中心类本身在工作者角色中可访问?你会做一些特别的事情来安排事情吗?(最好能回答自己的问题)。谢谢