【发布时间】:2014-04-01 16:30:06
【问题描述】:
这是我的中心类:
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 库,它没有包含在我的项目中。
标签: asp.net asp.net-mvc asp.net-mvc-3 signalr