如何使用Redis Pub/Sub数据实时更新ASP.NET应用程序中的html表



我有一个连接到Redis订阅的Web服务,如下所示:

using (RedisClient rc = new RedisClient("Publisher IP", 6379))
        {
            using (RedisSubscription rs = new RedisSubscription(rc))
            {
                rs.OnMessage = (channel, msg) =>
                    {
                        //msg is an object in json format to be displayed in html table
                    };
                rs.SubscribeToChannels("Channel Name");
            }
        }

到目前为止我尝试过的东西:

  • 我不能使用AJAX调用来获取数据,因为则执行不退出CCD_ 1代码块
  • 它在那里循环运行,直到订阅者与发布者断开连接。我尝试将msg值存储在Session中,然后在网页中调用该值。但是,Session值似乎没有更新

我也愿意尝试其他技术。由于我刚开始这个项目,我也可以从头开始。关于我该怎么做,有什么建议吗?

对于任何可能偶然发现这一点的人来说。我最终成功地将订阅的最新值存储在Redis键值对(Hset)中,然后运行AJAX调用在循环中检索该值。如果您想要某种缓存,或者希望执行从发布者接收的一些操作,也可以使用列表。然而,管理列表以避免产生大量开销是一项棘手的任务。

最新更新