我们举个例子,我说一个向所有用户显示alert
的按钮。单击该按钮后,所有连接的客户端都将看到alert
。
让我们说这是通过从客户端调用服务器方法来完成的,客户端调用显示警报的Client
上的函数。
例如:
public class DemoHub : Hub {
public void ShowAlert(String message) {
Clients.All.showAlertMessage(message);
}
}
这是集线器中的服务器方法,它调用客户端函数以显示警报消息。
我的问题是,警报是否也会显示给当前客户?我的意思是,如果我点击按钮,在这种情况下我是否会看到警报?
注意:上面的场景不是真实场景,这只是我的问题的类似说明,因为我当前的场景解释起来相当复杂。
答案 0 :(得分:5)
要广播到所有连接,包括您将使用的呼叫者
Clients.All.showAlertMessage(message);
要向所有人广播,除了调用者外,您还需要使用方法
Clients.Others.showAlertMessage(message);
可以在http://www.asp.net/signalr/overview/signalr-20/hubs-api/hubs-api-guide-server#callfromhub
找到更多相关文档上述方法将广播到除我认为正在寻找的当前连接之外的所有连接