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
};