我开始挖掘SignalR 0.4并遇到问题。我想在同一页面上有两个不同的集线器,以保持简单:
public class ChatHub : Hub
{
public void Send(string message)
{
Clients.addMessage(message);
}
}
public class Chat2Hub : Hub
{
public void Send2(string message)
{
Clients.addMessage2(message);
}
}
这是我的客户代码:
function initChat() {
var chat = $.connection.chat;
chat.addMessage = function (message) {...};
$('.send-cmd').click(function () {...});
return $.connection.hub.start();
}
function initChat2() {
var chat2 = $.connection.chat2;
chat2.addMessage2 = function (message) {...};
$('.send2-cmd').click(function () {...});
return $.connection.hub.start();
}
$(function() {
initChat().done(function() {
initChat2();
});
});
很简单,但我不能让它们一起工作。在此示例中,“chat”正常工作,“chat2”失败(没有错误)。 如果我当然颠倒了初始化的顺序,则会发生相反的情况。
我错过了什么?
答案 0 :(得分:3)
为什么要两次启动集线器连接。所有集线器都有一个连接,因此您只需要调用$ .connection.hub.start()一次。