我意识到 SignalR 和 ASP.NET SignalR 之间存在重大变化,因此我更改了代码以适应这种变化。但由于某种原因,我无法找出正确的改变。
我遇到的问题是服务器没有向客户端发送消息。
旧 SignalR 代码:
服务器
var context = GlobalHost.ConnectionManager.GetHubContext<Dashboard>();
var subscribers = context.Clients;
if (!string.IsNullOrWhiteSpace(message.Source))
{
var subscriber = subscribers[message.Source];
subscriber.messageReceived(message);
}
客户
$.connection.dashboard.messageReceived = function(){...};
新代码(ASP.NET SignalR):
服务器
var context = GlobalHost.ConnectionManager.GetHubContext<Dashboard>();
var subscribers = context.Clients;
if (!string.IsNullOrWhiteSpace(message.Source))
{
var subscriber = subscribers.Group(message.Source);
subscriber.messageReceived(message);
}
客户
$.connection.dashboard.client.messageReceived = function(){...};
有人可以帮我弄清楚这里出了什么问题吗?