SignalR是否发送响应包括当前连接在内的所有连接,或者除了当前连接以外的所有连接?

时间:2014-05-05 16:47:13

标签: signalr signalr-hub signalr.client

我们举个例子,我说一个向所有用户显示alert的按钮。单击该按钮后,所有连接的客户端都将看到alert

让我们说这是通过从客户端调用服务器方法来完成的,客户端调用显示警报的Client上的函数。

例如:

public class DemoHub : Hub {
    public void ShowAlert(String message) {
        Clients.All.showAlertMessage(message);
    }
}

这是集线器中的服务器方法,它调用客户端函数以显示警报消息。

我的问题是,警报是否也会显示给当前客户?我的意思是,如果我点击按钮,在这种情况下我是否会看到警报?

注意:上面的场景不是真实场景,这只是我的问题的类似说明,因为我当前的场景解释起来相当复杂。

1 个答案:

答案 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

找到更多相关文档

上述方法将广播到除我认为正在寻找的当前连接之外的所有连接