我有一个与信号R集成的基本MVC应用程序 . 我正在使用此应用程序跟踪在线用户 .
以下是我的Hub类
public class UserHub:Hub {static long counter = 0;
public override Task OnConnected()
{
//Update Count when User is connected
counter = counter+1;
Clients.All.UpdateCount(counter);
return base.OnConnected();
}
public override Task OnDisconnected(bool stopCalled)
{
counter = counter-1;
Clients.All.UpdateCount(counter);
return base.OnDisconnected(stopCalled);
}
}
以下是我的javascript代码
$.connection.hub.logging = true;
//setup hubs
var userHub = $.connection.userHub;
$.connection.hub.start().done(function () {
});
//function to recieve data from server
userHub.client.UpdateCount = function (count) {
$('#counter').text(count);
}
我也在startup.cs类中注册了 .
问题是信号器抛出错误“SignalR:没有订阅集线器 . ”当我刷新页面5次时,信号r连接到集线器,数据被拉出 .
有没有人面对这个问题?
任何帮助表示赞赏 .
谢谢
2 回答
我能够通过设置超时来解决问题 . 以下是我的代码 .
我仍然无法弄清楚为什么firefox正在这样做 .
在订阅客户端方法后启动连接,如下所示: