使用 signalR 在客户端隐藏或显示元素

Posted

技术标签:

【中文标题】使用 signalR 在客户端隐藏或显示元素【英文标题】:hide or show an element on client with using signalR 【发布时间】:2022-01-11 03:58:46 【问题描述】:

我正在尝试通过更新 db 上的参数来隐藏或显示客户端上的元素。用signalR可以吗?或者有没有其他方法可以做到这一点? 注意:我的应用是基于asp.net core mvc(实体框架)

【问题讨论】:

【参考方案1】:

Asp.net core SignalR 用于创建实时网络功能,您确定要实现此行为吗?

“通过更新 db 上的参数来隐藏或显示客户端上的元素。”

对于这个问题,这取决于您要如何隐藏或显示元素,实时还是仅一次?

如果你只是想在页面加载时隐藏或显示元素(每页加载一次),可以查询数据库并获取条件(从数据库中获取参数),然后使用if-else语句隐藏或显示元素。

如果要实时更改元素状态,可以使用 SignalR。 在后端创建定时任务并跟踪数据库参数状态,如果参数发生变化,调用客户端方法显示或隐藏元素。

参考:

Background tasks with hosted services

How can I execute a method every year using BackgroundService in ASP.NET core Application?

Send messages from outside a hub

【讨论】:

以上是关于使用 signalR 在客户端隐藏或显示元素的主要内容,如果未能解决你的问题,请参考以下文章

从 SignalR 调用特定客户端

C# SignalR:从代码隐藏更新数据的问题

使用 Flutter Provider 时,SignalR 客户端颤振库在另一个小部件中显示空值

使用 .NET 客户端时的 SignalR 传输

从用 C 语言编程的微控制器客户端使用 SignalR(或任何 WebSockets 框架)服务器

SignalR入门篇