SignalR 背板预期行为
SignalR backplane expected behavior
我正在创建一个新的 SignalR(.net 核心)背板,我对背板的预期行为有点困惑。
- 全部发送:这是否仅限于集线器类型内的所有集线器或整个网络中任何类型的所有集线器?
- 发送到群组:类似的问题。我应该只发送到集线器类型内的组吗?或者我应该按名称向群组的所有订阅者发送群组消息 - 无论源或目标集线器类型如何?
- 发送给用户:同样的问题。无论集线器类型如何,我都应该将消息发送给用户的所有实例吗?或者我应该限制发送到源集线器类型的相同用户实例吗?
HubLifetimeManager class 是泛型的,hub 类型是泛型。因此,您实现的方法仅适用于特定的集线器类型。
我想我在 Microsoft.AspNetCore.SignalR.StackExchangeRedis 背板的源代码中找到了问题的答案。
似乎所有消息通道都以集线器的 type.FullName 为前缀。因此,发送所有消息、发送给群组消息和发送给用户消息的范围始终限定为执行发送的集线器类型。
因此,所有消息始终(且仅)由相同类型的集线器接收。并且所述集线器不应接收从其他集线器类型发送的消息!
如果我对此有错误,请纠正我。错误的范式会对我的背板造成严重破坏。我希望尽快完成 public。
我正在创建一个新的 SignalR(.net 核心)背板,我对背板的预期行为有点困惑。
- 全部发送:这是否仅限于集线器类型内的所有集线器或整个网络中任何类型的所有集线器?
- 发送到群组:类似的问题。我应该只发送到集线器类型内的组吗?或者我应该按名称向群组的所有订阅者发送群组消息 - 无论源或目标集线器类型如何?
- 发送给用户:同样的问题。无论集线器类型如何,我都应该将消息发送给用户的所有实例吗?或者我应该限制发送到源集线器类型的相同用户实例吗?
HubLifetimeManager class 是泛型的,hub 类型是泛型。因此,您实现的方法仅适用于特定的集线器类型。
我想我在 Microsoft.AspNetCore.SignalR.StackExchangeRedis 背板的源代码中找到了问题的答案。
似乎所有消息通道都以集线器的 type.FullName 为前缀。因此,发送所有消息、发送给群组消息和发送给用户消息的范围始终限定为执行发送的集线器类型。
因此,所有消息始终(且仅)由相同类型的集线器接收。并且所述集线器不应接收从其他集线器类型发送的消息!
如果我对此有错误,请纠正我。错误的范式会对我的背板造成严重破坏。我希望尽快完成 public。