gpt4 book ai didi

c# - 我们如何在 asp.net mvc-6 核心中实现 "Bell Notification"

转载 作者:行者123 更新时间:2023-11-30 21:29:08 24 4
gpt4 key购买 nike

我正在开发一个 asp.net 核心 Web 应用程序,我们的系统有很多功能可以将项目分配给注册用户,我想通过实现类似贝尔的通知(这是已被许多社交媒体网站使用),如下所示:-

enter image description here

现在,在这个阶段,我试图了解这些通知在幕后是如何工作的,因为在我们检查通知后,我们将不会收到任何待处理的项目。所以根据我的理解,它的工作原理如下:-

  1. 我的页面中需要有一个 javascript,它将检查我们的数据库以查找分配给用户的所有通知,这些通知以前没有被阅读过。
  2. 然后显示如上所示的号码。
  3. 如果用户点击铃来检查待定项目 >> 发布请求是否应该发送到我们的后端,以更新这些待定项目它们已被用户阅读?

我不确定这些通知是否以这种方式工作?是否有任何教程描述我们如何获得类似铃铛的实时通知?

最佳答案

您的问题过于宽泛,无法合理回答,但一般来说:

  • 如果您觉得 JavaScript 仅在页面刷新/更改时进行更新,那么您根本不需要 JavaScript。例如,如果这是您网站布局的一部分,那么它将加载到每个页面上。当用户浏览网站时,每次用户请求新页面时,铃声都会根据当前的通知计数更新。但是,如果他们长时间停留在同一页面上,他们将不会知道任何进一步的新通知。不过,这不一定是个问题。许多网站的行为都是这样的。

  • 如果您确实想要立即更新,那么您将需要使用 SignalR (websockets)。在服务器端,您将创建一个中心和客户端,您将从该中心 (JavaScript) 订阅特定的消息类型。当发生需要通知用户的事情时,将通过集线器发送该类型的新消息,该消息将立即发送到订阅的客户端。然后将调用客户端订阅回调,允许您执行诸如动态更新通知计数之类的操作(更多 JavaScript)。

  • 无论您选择哪种方法,最好的方法是为此服务器端创建一个 View 组件。例如,这将允许您将查询数据库以获取通知和铃声呈现的逻辑封装在一起,然后简单地将其放入您的布局中。

  • 如果有客户端(即即时更新),您可能还想在那里使用某种组件(通过 Vue.js、React、Angular 等——每个组件都有他们自己的“组件”)。这将允许您将所有逻辑类似地封装在一个易于重用的容器中。

关于c# - 我们如何在 asp.net mvc-6 核心中实现 "Bell Notification",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55728502/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com