我有一个有效的 SignalR 应用程序,我的 global.asax.cs 执行所有通常的 MapHubs() 等,并且我正在使用自定义 IAssemblyLocator,它还加载内存中的程序集以及引用的程序集。我拥有的两个集线器是在运行时在内存程序集中创建的,这很好用——集线器可以将消息推送到客户端等。
在应用程序启动后的某个时刻,我想在运行时添加另一个集线器,它将位于它自己的内存程序集中,并使其出现在 signalr/hubs/ 文件中。
我该怎么做呢?
再次调用 MapHubs 会导致错误,因为我已经定义了路线。删除路线(到目前为止,我只设法使用 RouteTable.Routes.Remove(RouteTable.Routes[0]),显然并不理想)似乎不起作用。
有没有很好的方法来做到这一点?