在我的 MVC 应用程序中使用 SignalR 实时获取用户最新信息
本文关键字:获取 实时 用户 最新 信息 SignalR MVC 我的 应用程序 | 更新日期: 2023-09-27 17:55:22
我一直在寻找一种可以做一些事情的服务,例如通知用户(特定用户)他们有新的朋友请求。我遇到了SingalR,并认为这可能对我的应用程序有用。我看到很多示例和 SignalR 的实时用途都是聊天应用程序,这是有道理的。无论如何,这就是我在这里试图完成的目标。我有一个使用 RavenDB 作为数据存储的 MVC 社交应用程序,一个用户可能会请求与另一个用户建立友谊,我想实时更新该客户端他们有新请求(每 X 秒检查一次)。我正在寻找一个好的 SignalR 示例,或者可能为我指明正确方向的文档(希望是示例),或者寻找除 SignalR 之外更适合我的应用程序的良好服务。感谢您的任何回答。
SignalR 肯定非常适合您的应用程序。 例如,JabbR(http://jabbr.net/,https://github.com/davidfowl/JabbR)可能是一个聊天室,但它不断联系数据库以更新/检索其记录。
对于您的情况,我建议在数据库写入时排队命令以通知其他用户,而不是定期检查。 意思是假设用户 A 请求与用户 B 成为朋友。 首先,该请求被写入数据库,然后通过 SignalR 向所有相关方广播消息。
但是,如果您仍然想每 X 秒实现一次计时器检查,这仍然是可能的。 请参阅 ShootR(shootr.signalr.net,https://github.com/NTaylorMullen/ShootR),这是一款多人游戏,它利用游戏计时器并在检测到碰撞时广播碰撞。 当然,ShootR 以更高的间隔(50+ 次/秒)在服务器上进行计算,它本质上是相同的。
因此,如果你想检查每个Xs的方法,我建议混合使用两个项目(JabbR和ShootR)并实现一个线程计时器(而不是用于ShootR使用的高频更新的自定义计时器),然后从数据库中检索数据并使用该数据向用户发送更新。
希望这有帮助!