Signalr 客户端用于在重新连接时检索丢失的消息



我希望用户检索他们在重新连接到 Signalr 服务器时可能错过的消息。

我知道我可以独立于 Signalr 保留消息,跟踪客户端中收到的最后一个消息 ID,并在重新连接时重新发送较新的消息,但我正在查看 SqlServer 背板的Messages_0表,其中包含有效负载和有效载荷 ID,并且想知道是否有一种更 Signalr'y 的方法可以让背板为我执行此操作或扩展背板为我执行此操作。

你知道我该怎么做吗?

SignalR 更像是一个实时消息系统,用于将请求广播到连接的客户端。如果要发送到多个客户端,则没有内置方法来跟踪广播消息是否由特定的分离客户端检索。服务总线/队列机制更适合IE - MSMQ,Rhino Service Bus,RabbitMQ等。你绝对可以构建一个队列来处理请求,并密切关注哪些标识仍连接到中心,并让 SignalR 处理通信的广播部分,以及标识是否解耦并返回到组,则仅重新发送到该标识。

使用纯服务总线方法的唯一问题是,客户端必须在其计算机上正确设置协议,例如需要 MSMQ 服务器核心集成的 MSMQ,这增加了部署的复杂性。

最新更新