通过signalR在asp.net app和serviceworker之间进行通信?

问题描述 投票:4回答:1

我是服务工作者的新手,我想知道如何将我的服务工作者连接到我的asp.net应用程序。 我的js客户端已经与服务工作者通信,并且能够显示通知。 但是,我已经看到一些网站(例如facebook)发送通知,即使浏览器的标签没有打开(不活动,未打开)。 我使用signalR与服务器通信我的应用程序。 是否可以将服务人员与服务器进行通信? 如果我没有错,它需要将signalR代码添加到服务工作者,但我不认为这是可能的。 我已经看到谷歌有另一种沟通方式, 谷歌云通信

我不能用它,所以我怎么能解决这个问题?

asp.net-mvc signalr signalr.client service-worker
1个回答
5
投票

要使用离线通知(即,您的浏览器是打开的,但您的页面不是),浏览器本身需要知道它可以响应的消息服务,以及让它知道唤醒您的服务工作者和给它一个通知。 这些服务被硬编码到浏览器中。 在Chrome的情况下,该服务是GCM。 我相信Firefox正在推出自己的产品。 您无法通过其中一种消息传递服务从服务器中唤醒服务工作者。

请记住,通常您的服务人员是睡着了。 浏览器只会唤醒它以响应特定事件,并且,如果您的页面关闭,则无法从服务器触发服务工作者事件,除非浏览器提供消息传递服务(如GCM)。

© www.soinside.com 2019 - 2024. All rights reserved.