gpt4 book ai didi

c# - SignalR 2.2.0 'Context.ConnectionId' .Net 客户端无法手动设置

转载 作者:太空宇宙 更新时间:2023-11-03 13:09:03 24 4
gpt4 key购买 nike

当我这样做时:

Connection = new HubConnection(uri);
Connection.ConnectionId = "89668c32-c654-40a2-96c3-21a888f31c9f";
Connection.Start(new LongPollingTransport())

第二行什么都不做,我的集线器每次都看到不同的 ID。有什么想法吗?

最佳答案

连接 ID 由服务器分配和跟踪。客户端在连接协商期间接收连接 ID。除了连接 id 之外,在连接协商期间,客户端还会收到一个在服务器上计算的连接 token (您可以在 this blog post 中找到有关连接协商和 SignalR 协议(protocol)的更多详细信息)。连接 token 是使用用户名和连接 ID 计算得出的,然后进行加密。客户端必须在每个请求中发送连接 token 。如果客户端不发送连接 token 或客户端发送的连接 token 与加密数据不匹配,则连接将被拒绝(有关连接 token 的更多信息 here )。因此,即使您可能通过重用连接 ID/连接 token 在您的环境中破解此问题,服务器知道在客户端上设置连接 ID 不是受支持的场景,实际上 ConnectionId 属性甚至可能没有 setter (事实上 IConnection.ConnectionId 属性只有一个 getter)。

关于c# - SignalR 2.2.0 'Context.ConnectionId' .Net 客户端无法手动设置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29836418/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com