使用连接ID成功建立连接,但是未触发代理方法,我正在尝试跟踪活动用户的数量。
public class CounterHub : Hub// Proxy Hub
{
static long counter = 0;
public override System.Threading.Tasks.Task OnConnected()
{
counter = counter + 1;
Clients.All.UpdateCount(counter);// Client Proxy Method
return base.OnConnected();
}
public override System.Threading.Tasks.Task OnDisconnected(bool stopCalled)
{
counter = counter - 1;
Clients.All.UpdateCount(counter);//Client proxy method
return base.OnDisconnected(stopCalled);
}
}
Javasrcitp建立连接并调用代理客户端方法
$
(function () {
var counterHub = $.connection.counterHub;
$.connection.hub.start().done(function () {
console.log("Connection Established" + $.connection.hub.id);
}).fail(function () {
console.log('Could not Connect!');
});
$.extend(counterHub.client, {
UpdateCount: function (count) {
console.log(count);
}
})
counterHub.client.UpdateCount = function (count) {
$("#counter").text(count);
}
});
答案 0 :(得分:0)
需要在连接之前声明客户端方法。
$(function () {
var counterHub = $.connection.counterHub;
counterHub.client.UpdateCount = function (count) {
$("#counter").text(count);
}
$.connection.hub.start().done(function () {
console.log("Connection Established" + $.connection.hub.id);
}).fail(function () {
console.log('Could not Connect!');
});
$.extend(counterHub.client, {
UpdateCount: function (count) {
console.log(count);
}
})
});
不知道您要使用$ .extend做什么,因为我从未用过这种方式。那可能还需要移动。