我正在开发一个应用程序,服务器端技术是asp.net web api,客户端使用的是javascript。在我的应用程序中,我使用Signalr向客户端发送更新通知,即从服务器推送通知到客户端。
所有Signalr交互都发生在Hub类之外,因为推送来自于HTTP请求而不是客户端通过Signalr向服务器进行推送。
在成功处理HTTP请求后,我想让除了提交请求的客户端之外的所有客户端都能够收到通知。
谁应该负责这些通知?在处理合法请求后,我的服务器只需向客户端推送通知吗?(这是我目前所做的)如果这是正确的方法,那么我如何通知除了发出请求的客户端以外的所有客户端?提醒一下 - 因为请求是Http而不是Signalr推送,所以推送到客户端的动作发生在Hub类之外的一个类中。因此,我不能像你可能建议的那样使用Context或Client.Others属性。那我怎么知道应该通知哪些客户端呢?目前,我只使用Clients.All,导致发出请求的客户端也会收到通知,这并不理想。
选项2是,在我的服务器响应成功状态代码后。发出请求的客户端将负责通知其他客户端-这意味着他将向服务器推送消息,然后服务器将向所有其他客户端推送该通知(这一次将在Signalr Hub内进行,因此我可以使用Clients.Others)。
我应该采取哪种方法呢?
所有Signalr交互都发生在Hub类之外,因为推送来自于HTTP请求而不是客户端通过Signalr向服务器进行推送。
在成功处理HTTP请求后,我想让除了提交请求的客户端之外的所有客户端都能够收到通知。
谁应该负责这些通知?在处理合法请求后,我的服务器只需向客户端推送通知吗?(这是我目前所做的)如果这是正确的方法,那么我如何通知除了发出请求的客户端以外的所有客户端?提醒一下 - 因为请求是Http而不是Signalr推送,所以推送到客户端的动作发生在Hub类之外的一个类中。因此,我不能像你可能建议的那样使用Context或Client.Others属性。那我怎么知道应该通知哪些客户端呢?目前,我只使用Clients.All,导致发出请求的客户端也会收到通知,这并不理想。
选项2是,在我的服务器响应成功状态代码后。发出请求的客户端将负责通知其他客户端-这意味着他将向服务器推送消息,然后服务器将向所有其他客户端推送该通知(这一次将在Signalr Hub内进行,因此我可以使用Clients.Others)。
我应该采取哪种方法呢?