c# - SignalR 中的组存在性能问题吗?

标签 c# asp.net-mvc signalr signalr-hub

SignalR 中存在大量组会对性能产生多大影响?例如,以一个有帖子的社交网络为例,这些帖子的评论需要通过 SignalR 中心进行更新。最好为每个帖子创建一个组,然后将评论更新发送到该组,将评论更新发送到所有客户端,然后让客户端代码决定是否更新,或者是我还有另一种失踪的方式吗?谢谢!

最佳答案

当您通过 SignalR 向客户端广播消息时,该消息将发送到一个主题,然后该主题被推送到订阅该主题的一个或多个客户端。每个连接的客户端都有一个主题,每个组都有自己的主题。

发送到群组(有超过 1 个与之关联的用户)总是比发送到单个用户更快。然而,组确实会占用内存。单个组的内存远不及整个用户那么多,但如果创建过量,您可以看到损失。

因此,您问题的答案是,视情况而定。根据应用程序的规模和实现,您可以使许多组工作或不工作。

例如,几个人对同一个帖子发表评论的情况肯定会证明一个群组是合理的,而一个人在墙上发布了 0 条评论的情况则不然。

希望这有帮助!

关于c# - SignalR 中的组存在性能问题吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14471938/

相关文章:

c# - ObjectContext 实例已被处置,不能再使用

c# - 通过 React 客户端应用程序连接到 Ocelot Api 网关中的 SignalR 集线器时,出现未处理的拒绝(错误)(HttpError)

c# - 如何使用Unity根据http请求参数将服务动态注入(inject)asp.net web api Controller

c# - MVC 中 Controller 操作命名的一致性

asp.net-mvc - 在 IIS7 中运行时无法在 ASP.NET MVC View 中放置断点

c# - SignalR 将消息发送到单个 connectionId

ninject - SignalR 依赖解析器无法在 Javascript 中心工作

javascript - 使用 registerstartupscript 时出现意外标识符

c# - Observable.FromAsync 内存泄漏 [墨尔本开发者/Devicenet]

c# - 创建一个包含比原始元素更多的 ReactiveUI 派生集合