1
这里是我的HUB类:SignalR客户端未连接
public class ZaaloverzichtHub : Hub
{
IHubContext context = GlobalHost.ConnectionManager.GetHubContext<ZaaloverzichtHub>();
private static readonly Lazy<ZaaloverzichtHub> instance = new Lazy<ZaaloverzichtHub>(() => new ZaaloverzichtHub());
public static ZaaloverzichtHub Instance { get { return instance.Value; } }
public void Send()//PartialViewResult zaaloverzicht)
{
// Call the broadcastMessage method to update clients.
context.Clients.All.broadcastMessage("test");
}
}
下面是我认为的JavaScript:
$(function() {
var connection = $.connection.ZaaloverzichtHub;
connection.client.broadcastMessage = function (zaaloverzicht) {
window.alert(zaaloverzicht);
}
$.connection.hub.start();
});
我打电话从我的控制器send()方法
var hub = ZaaloverzichtHub.Instance;
hub.Send();
集线器中的Send()方法正在被调用,但是客户端没有发生任何事情。我知道客户端没有被连接到集线器,因为当我做的方法是这样的:
public override System.Threading.Tasks.Task OnConnected()
{
return base.OnConnected();
}
放置一个断点,断点从不打。
嗯,我懂了工作使用属性明确命名。原来我引用了一个旧的jquery库,它并未包含在我的项目中。 –