【发布时间】:2014-07-24 18:19:46
【问题描述】:
我们正在寻找一种方法,让后台进程将消息推送到连接的客户端。
我们采用的方法是,每当建立新连接 (OnConnected) 时,我们将 connectionId 与一些请求元数据(用于以后过滤)单独存储在我们的 mongo db 中。当事件发生(从客户端或后端进程触发)时,workerrole(另一个后台进程)将侦听这些事件(通过消息传递或其他方式),然后根据事件详细信息,它将使用捕获的元数据过滤连接的客户端。
方法似乎还可以,但是当我们遇到问题时
- signalr 服务器宕机
- 在服务器备份之前,客户端断开连接(关闭浏览器或其他)
signalr 服务器备份
我们在 mongodb 中留下了我们不知道其连接状态的连接
我想知道是否有更好的方法来做到这一点,目标是能够针对特定连接的客户端从后端服务(工作者角色)推送消息
顺便说一下,我们正在使用带有服务总线背板的横向扩展选项
【问题讨论】:
-
您可以在应用程序启动时为服务器分配断开日期或您用于任何打开连接的任何标志。
标签: signalr signalr-hub signalr.client signalr-backplane