Asp.net 使用信号器将消息广播到特定页面

Asp.net 使用信号器将消息广播到特定页面,asp.net,signalr,Asp.net,Signalr,假设我有一个论坛,人们在那里发布他们的问题,另一个人发布答案。比如说一个人发了一个问题“什么是信号员?”站在那个页面上。其他人也打开该页面进行回答。如果其他人发布任何答案,那么我希望该答案将显示在其他用户打开的页面中。假设五个用户打开该页面,其中一个用户回答,那么五个用户将看到该答案 通常,当我们想向所有人广播任何消息时,我们会使用服务器端的语法 Clients.All.broadcastMessage(name, message); 那么根据我上面的情况,我需要使用什么样的语法呢 下面是我找

假设我有一个论坛,人们在那里发布他们的问题,另一个人发布答案。比如说一个人发了一个问题“什么是信号员?”站在那个页面上。其他人也打开该页面进行回答。如果其他人发布任何答案,那么我希望该答案将显示在其他用户打开的页面中。假设五个用户打开该页面,其中一个用户回答,那么五个用户将看到该答案

通常,当我们想向所有人广播任何消息时,我们会使用服务器端的语法

Clients.All.broadcastMessage(name, message);
那么根据我上面的情况,我需要使用什么样的语法呢

下面是我找到的一些关于宽频广播消息类型的指南,如下所示

// Call send on everyone
        Clients.All.send(message);

        // Call send on everyone except the caller
        Clients.Others.send(message);

        // Call send on everyone except the specified connection ids
        Clients.AllExcept(Context.ConnectionId).send(message);

        // Call send on the caller
        Clients.Caller.send(message);

        // Call send on everyone in group "foo"
        Clients.Group("foo").send(message);

        // Call send on everyone else but the caller in group "foo"
        Clients.OthersInGroup("foo").send(message);

        // Call send on everyone in "foo" excluding the specified connection ids
        Clients.Group("foo", Context.ConnectionId).send(message);

        // Call send on to a specific connection
        Clients.Client(Context.ConnectionId).send(message);

我需要用哪一个?请解释并感谢。

您可以在页面上有一个div,其中包含问题的id。所以你会有这样的想法:

<div id="theAskedQuestionId"><!-- the answer will be inserted here--></div>

这将允许您仅向查看特定问题的用户显示消息,而不是向查看任何问题的用户广播消息。我想这就是您请求帮助的地方。

您可以在页面上有一个div,其中包含问题的id。所以你会有这样的想法:

<div id="theAskedQuestionId"><!-- the answer will be inserted here--></div>
这将允许您仅向查看特定问题的用户显示消息,而不是向查看任何问题的用户广播消息。我想这就是你在寻求帮助的原因

var messagePublisher = $.connection.yourHubName;

messagePublisher.client.broadcastMessage = function(divId, message){
$(divId).html(message); //note: divId will be something like #12345
};