我如何在两个独立的集线器之间进行通信?
所以Hub1是支持代理的ChatHub,Hub2是我的客户端。 支持代理有登录,客户有他们填写的表单,用于创建用户等。但是,如何为拥有Hub1(支持代理)的所有用户传递从Hub2创建的用户到Hub1,或者有更好的方法可以做到这一点?
我是否需要在Hub1中处理所有这些,并使用一些逻辑来区分客户和代理商?
可能无法实现,因为集线器不是静态的,它们是按用户权限创建的吗?
在一个Hub中完成所有操作的问题是在填写表单之后将它们发送到另一个页面,这样他们就会获得一个新的connectionId并且它们没有Context.User.Identity.Name所以没有办法抓住它们因为我不会从新页面知道他们的信息。
答案 0 :(得分:0)
您可以使用GlobalHost.ConnectionManager在集线器之间进行通信:
var ctx = GlobalHost.ConnectionManager.GetHubContext<HubName>();
ctx.Clients.All.methodName(parameter);