SignalR - 在运行时添加集线器

时间:2013-06-12 16:12:59

标签: signalr signalr-hub

我有一个工作的SignalR应用程序,我的global.asax.cs执行所有常见的MapHubs()等,我使用的是自定义IAssemblyLocator,它还加载内存中的程序集以及引用的程序集。我在运行时在内存中的程序集中创建了两个集线器,这很好用 - 集线器可以将消息推送到客户端等。

在应用程序启动后的某个时刻,我想在运行时添加另一个集线器,它将位于它自己的内存中程序集中,并使其出现在signalr / hubs / file中。

我该怎么做?

再次调用MapHub会导致错误,因为我已经定义了路由。删除路由(我到目前为止我只能使用RouteTable.Routes.Remove(RouteTable.Routes [0])设法做了,显然不太理想)似乎没有用。

有一个很好的方法吗?

1 个答案:

答案 0 :(得分:2)

使用备用语法而不是使用静态信号器/集线器文件,因为它永远不会更新:

http://www.asp.net/signalr/overview/hubs-api/hubs-api-guide-javascript-client#genproxy