1

我将我的信号器集线器托管在一个单独的域上,并从我的主应用程序跨域连接到集线器。当用户登录到主应用程序时,将建立信号器连接。现在,我遇到的问题是如何识别集线器内的连接用户。如果我的 HUb 在主应用程序中,那么我可以使用登录用户的 UserContext 并维护一个字典(来自 MessengR 应用程序的示例)并在 Connect 和 Disconnect 事件中更新它们。

    private static readonly ConcurrentDictionary<string, List<string>> _userConnections = new ConcurrentDictionary<string, List<string>>();
    private static readonly ConcurrentDictionary<string, string> _reverseLookup = new ConcurrentDictionary<string, string>();

但是作为跨域连接,我没有 UserContext 并且我无法知道该连接 ID 属于谁。我在这里迷路了。是否可以在 Connect() 事件上从客户端传递查询字符串?我有一个令牌来识别我可以用来跟踪的用户。或以其他方式将用户链接到连接 ID。如果有人能给我一些指导。谢谢!

4

0 回答 0