使用 SignalR 和 SqlDependecies c# 的实时过滤列表

Realtime filtered list using SignalR and SqlDependecies c#

我有以下场景:我的主页是 "timeline",其中有一张地图,顶部有一些过滤器,下面是帖子列表。 该列表按地图边界(空间查询)和其他 2 个过滤器(类别和自由文本搜索)进行过滤。

我想使用 SignalRSQL Dependencies(SQL Server 2016)实现它,使其成为 "real time"(例如:在其集合有新帖子时通知用户过滤器可用)但我对实现有一些疑问:

为此,我需要为每个唯一的过滤器组合(搜索、类别、map_bounds)注册一个 SQL 依赖项,当然这会转化为潜在的无限数量的 SQL 依赖项,我想这将是服务器基础设施的巨大过载

我怎样才能以优化的方式做到这一点?我需要一些建议:)

提前致谢!

可以做到,但由于用于依赖项的查询的限制,这可能会证明是一个相当大的挑战。对于你正在尝试做的事情,我不推荐 SQL 依赖注入。您可能想看看使用像 redis 这样的东西来缓存您的数据并查询缓存数据以了解您要执行的操作。这是一个 SO 问题,它具有 SQL 依赖注入查询的所有限制。

What are the limitations of SqlDependency