【发布时间】:2012-11-09 22:44:57
【问题描述】:
使用 Signalr (1.0.0-alpha2),我想知道是否可以在连接启动后添加客户端功能。
假设我创建了连接并获取了代理。然后我将一些 Server Fired 客户端功能添加到集线器来做一些事情。然后我开始我的连接。然后我想向我的集线器对象添加更多的 Server Fired 函数。这可能吗?
var myHub= $.connection.myHub;
myHub.SomeClientFunction = function() {
alert("serverside called 'Clients.SomeClientFunction()'");
};
$.connection.hub.start()
.done(function() {
myHub.SomeNewClientFunction = function() {
alert("serverside called 'Clients.SomeNewClientFunction()'");
}
})
这个例子不现实,但我基本上想在集线器开始订阅原始代码不关心的新事件后将我的“myHub”变量发送到不同的对象。
现实生活示例:具有许多不同中心事件(新站点访问、聊天消息、站点错误)的仪表板。我在连接开始后“订阅”,然后将我的集线器代理传递给我所有不同的 UI 组件以处理它们特定的“消息类型”。我应该为这些创建单独的集线器,还是应该能够即时添加更多的 Server Fired 客户端功能?
【问题讨论】:
标签: signalr signalr-hub