Signalr 2个网页的信号器

Signalr 2个网页的信号器,signalr,Signalr,我正在使用.net项目,并创建了一个web页面用于Signaler。下面的代码使用一个网页。客户端: $.connection.hub.start().done(function () { }); var chat = $.connection.chatHub; chat.client.broadcastMessage = function (name, message) { }; 服务器端: var context = Microsoft.AspNet.SignalR.GlobalHo

我正在使用.net项目,并创建了一个web页面用于Signaler。下面的代码使用一个网页。客户端:

$.connection.hub.start().done(function () { });

var chat = $.connection.chatHub;
chat.client.broadcastMessage = function (name, message) {  };
服务器端:

var context = 
Microsoft.AspNet.SignalR.GlobalHost.ConnectionManager.GetHubContext<SignalRChat.ChatHub>();          
context.Clients.All.broadcastMessage(name, message);
从第二页开始。它激发了功能

chat.client.broadcastMessage 
在第一页。如何在第2页将其修复到被解雇的客户端


谢谢

您想让它在两个页面上同时启动吗-

我怀疑您没有在第2页上创建连接。一旦你在第2页上有了一个有效的连接,如果你打开了第1页和第2页,它就会同时启动。或者只在你打开的页面上

如果您希望它在每个页面上启动,但不是在两个页面上都启动,那么您需要进行一些更改。您可以在这里使用多个选项,无需附加上下文:

  • 非常简单-将第2页上的chat.client.broadcastMessage重命名为其他内容,并使用新方法从服务器调用它
  • 查看组-更新context.Clients.Group(groupname).broadcastMessage(name,message)您可以在第1页向用户发送消息(假设您有第1页和第2页的组),然后仅在需要时在第2页向用户发送消息
  • chat.client.broadcastMessage