使用asp.net web API后端的Angular 2 Web应用程序的实时通知

时间:2016-05-11 07:07:35

标签: angular asp.net-web-api2 web-notifications near-real-time

我正在开发一个Web应用程序(Angular 2和Asp.net Web API),该应用程序希望在其他用户创建某个任务时通知用户(数据库中的Tasks表上的条目)。通知可以类似于Facebook通知。

可以使用哪些技术来实现此实时通知? 我是实时应用的新手,所以请帮我选择正确的路径。

2 个答案:

答案 0 :(得分:2)

实时数据在财务上或资源上的开销并不便宜。

要使用Web Api启用此功能,需要long polling这不是最好的方法,并且资源成本非常高(数据库每半秒钟就会命中一次!)。这样可以看出数据是实时的。

或者,可以查看SQL Service broker using sqldependency as signalr。初始设置可能很棘手。信号器确实有一系列限制。

我建议您查看RethinkDBFirebase等技术,以获取实时数据Feed。但是有财务成本的影响。您还可以查看socket.io和react.js / node.js的组合。

LinkedIn and AirBnb这样的公司使用Kafka作为实时通知的分布式邮件系统。 Facebook使用technologies的组合。

答案 1 :(得分:1)

这取决于您要使用的通知类型。

  • 可以使用 WebSockets 创建传统通知系统,该系统在用户浏览网站时向用户显示通知。服务是https://pusher.com
  • 即使用户没有浏览网站,也可以提供类似应用的新通知。例如,它们受Chrome支持,可以使用W3C 推送API (与服务工作者和通知API一起)创建。服务是https://pushpad.xyz(我是创始人)

例如Facebook支持这两种类型。