3

您是否可以创建一个集线器,您可以从工作角色和 Web 角色向客户端发送消息,或者拥有多个可以向客户端发送消息的不同工作角色?

或者是使用 SignalR 向客户端发送消息的推荐方式,以拥有一个 Web 角色来处理发送给客户端的所有消息,并且您将使用队列将来自所有其他角色的消息发送给客户端。我看到的另一个选项是我将为所有每个工作角色和 Web 角色都有一个集线器,并且您连接到几个不同的集线器?这对我来说似乎是一个不好的方法。

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

4

1 回答 1

2

您可以让您的 Azure 辅助角色通过 Ajax 或SignalR .NET 客户端向您的 Web 角色发出请求。然后,您可以让您的 Web 角色代理从您的工作角色发送到您的“正常”(可能是 JS)客户端的消息。您可以使用组或特殊的辅助角色集线器来区分辅助角色客户端和普通客户端。

如果您想代理来自您的工作角色的消息作为 Ajax 响应的一部分,您可能希望查看 usingGetHubContext以便您可以从 hub 外部向客户端广播

于 2013-03-20T18:48:09.780 回答