SignalR在集线器之间进行通信

时间:2015-09-04 02:45:29

标签: asp.net-mvc-5 signalr signalr-hub

我如何在两个独立的集线器之间进行通信?

所以Hub1是支持代理的ChatHub,Hub2是我的客户端。 支持代理有登录,客户有他们填写的表单,用于创建用户等。但是,如何为拥有Hub1(支持代理)的所有用户传递从Hub2创建的用户到Hub1,或者有更好的方法可以做到这一点?

我是否需要在Hub1中处理所有这些,并使用一些逻辑来区分客户和代理商?

可能无法实现,因为集线器不是静态的,它们是按用户权限创建的吗?

在一个Hub中完成所有操作的问题是在填写表单之后将它们发送到另一个页面,这样他们就会获得一个新的connectionId并且它们没有Context.User.Identity.Name所以没有办法抓住它们因为我不会从新页面知道他们的信息。

1 个答案:

答案 0 :(得分:0)

您可以使用GlobalHost.ConnectionManager在集线器之间进行通信:

var ctx = GlobalHost.ConnectionManager.GetHubContext<HubName>();
ctx.Clients.All.methodName(parameter);