带有asp.net Web API后端的Angular 2 Web应用程序的实时通知[关闭]
Posted
技术标签:
【中文标题】带有asp.net Web API后端的Angular 2 Web应用程序的实时通知[关闭]【英文标题】:Real Time Notification for Angular 2 web app with asp.net web API back end [closed] 【发布时间】:2016-05-11 07:07:35 【问题描述】:我正在开发一个 Web 应用程序(Angular 2 和 Asp.net Web API),当另一个用户创建了某个任务(数据库中任务表上的一个条目)时,该应用程序希望得到通知。通知可以类似于 Facebook 通知。
可以使用哪些技术来实现这种实时通知? 我是实时应用程序的新手,所以请帮助我选择正确的路径。
【问题讨论】:
也许这对你有帮助:***.com/questions/9570522/… 【参考方案1】:实时数据并不便宜,无论是财务还是资源开销。
要使用 Web Api 启用此功能需要long polling,这不是最好的方法,而且资源成本可能非常高(数据库每半秒点击一次!)。这会让数据看起来是实时的。
也可以查看SQL Service broker using sqldependency as signalr。初始设置可能很棘手。 Signalr 确实有一系列限制。
我建议查看RethinkDB 或Firebase 等技术来获取实时数据馈送。虽然有财务成本影响。也可以看看socket.io和react.js/node.js的组合。
像LinkedIn and AirBnb 这样的公司使用Kafka,这是一个分布式消息传递系统,用于实时通知。 Facebook 使用technologies 的组合。
【讨论】:
【参考方案2】:这取决于您要使用哪种通知。
可以使用 WebSockets 创建一个在用户浏览网站时向用户显示通知的传统通知系统。服务是https://pusher.com 即使用户没有浏览网站,也可以发送一种类似于应用程序的新型通知。例如,它们受 Chrome 支持,可以使用 W3C Push API(连同服务工作者和通知 API)创建。一个服务是https://pushpad.xyz(我是创始人)例如 Facebook 支持这两种类型。
【讨论】:
谢谢。我想使用您首先提到的那种通知。我会看看 Pusher。以上是关于带有asp.net Web API后端的Angular 2 Web应用程序的实时通知[关闭]的主要内容,如果未能解决你的问题,请参考以下文章
Visual Studio 中带有 ASP.NET Web API 项目的 Angular 项目
移动客户端的asp.net Web Api自定义身份验证要求
带有 Razor 页面的 ASP .Net Core 与 UI 的 Angular [关闭]
带有 EF Core 更新实体的 ASP.Net 核心 Web Api 如何