我正在创建一个单页 Web 应用程序,它使用 SignalR 来通知服务器上的更改。我是 SignalR 的新手,并试图了解如何让客户端仅根据它们所在的视图来监听某些事件。例如,如果用户正在查看客户信息,那么他们希望在此数据发生更改时得到通知,但是如果他们没有查看此数据,则无需通知任何更改。
我认为当我不再需要了解来自该中心的信息时,我可以使用中心代理并取消订阅或断开连接。以下是我尝试实现这一目标的方法:
var connection = $.hubConnection();
var proxy = connection.createHubProxy(hubName);
// When I want to receive notifications I subscribe to the event
proxy.on('CustomerChanged', function() { ... });
// When I want to stop receiving notifications
proxy.off('CustomerChanged');
这确实会停止调用事件处理程序,但是查看提琴手,即使处理程序已关闭,数据仍会发送到浏览器。
有没有办法停止在客户端监听通知,以便服务器甚至不会发送任何数据?
提前致谢