集线器之间进行SignalR通信

问题描述 投票:0回答:1

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

因此,Hub1是我的支持代理人的ChatHub,而Hub2是我的客户支持中心。 支持代理具有登录名,客户具有他们填写的表单,该表单可以创建用户,依此类推。 但是,如何将所有从Hub2创建的用户传递给Hub1(具有支持代理)的所有用户,或者是否有更好的方法呢?

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

由于集线器不是静态的,可能不是每个用户都创建的,因此可能无法实现吗?

在一个集线器中完成所有操作的问题是,在填写表单后,它将它们发送到另一页,以便它们获得新的connectionId,并且它们没有Context.User.Identity.Name,因此自从我以来没有办法再次抓住它们在新页面上不知道他们的信息。

asp.net-mvc-5 signalr signalr-hub
1个回答
0
投票

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

var ctx = GlobalHost.ConnectionManager.GetHubContext<HubName>();
ctx.Clients.All.methodName(parameter);
© www.soinside.com 2019 - 2024. All rights reserved.