2013-06-12 95 views
0

增加集線器我有一個工作SignalR應用,我的global.asax.cs完成了所有的常用MapHubs()等,我使用的是自定義的IAssemblyLocator同時也裝入內存組件以及引用組件。我擁有的兩個集線器是在運行時在內存中創建的,並且工作正常 - 集線器可以將消息推送到客戶端等。SignalR - 在運行時

在應用程序啓動後的某個時間點,我想在運行時添加另一個集線器它將位於它自己的內存組件中,並使其出現在信號器/集線器/文件中。

我該怎麼做?

調用MapHubs再次導致一個錯誤,因爲我已經路線定義。刪除路由(我迄今爲止設法使用RouteTable.Routes.Remove(RouteTable.Routes [0])到目前爲止,顯然並不理想)似乎並不奏效。

有沒有一個很好的辦法做到這一點?

回答

2

使用替代語法,而不是使用靜態signalr的/集線器文件,因爲它永遠不會更新:

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

+0

謝謝你,我會給予一個去,而且我認爲這個問題是,一旦我將新的dll加載到內存中,signalr框架就不知道它。調用GlobalHost.ConnectionManager.GetHubContext() – isaidNO

+0

doh過早發送!調用GlobalHost.ConnectionManager.GetHubContext()導致異常,但如果我手動列舉雖然我的組件列表,並期待在每種類型的,我可以在那裏看到新的樞紐型 – isaidNO

+0

看看這個替換HTTPS服務://github.com/SignalR/SignalR/blob/master/src/Microsoft.AspNet.SignalR.Core/Hubs/Lookup/IHubDescriptorProvider.cs – davidfowl