我有這樣的場景。SignalR - OWIN - 多個端點
模塊派生自的基類。
每個模塊都有自己的信號集線器。
我想將所有模塊託管在單個主機中,並以模塊名稱分隔。
某些模塊將共享中心名稱。
namespace domain.com.base
{
public class BaseClass
{
public string ApplicationName;
}
}
namespace domain.com.billing
{
public class Billing : BaseClass
{
ApplicationName = "Billing";
}
public class NotificationHub : Hub
{
public void Credit(decimal amount)
{
Clients.All.Notify(amount);
}
}
}
namespace domain.com.reporting
{
public class Reporting : BaseClass
{
ApplicationName = "Reporting";
}
public class ReportingHub : Hub
{
public Report GetReport(int Id)
{
return ReportModule.RetrieveReport(Id);
}
}
}
在OWIN.Startup.Configuration(IAppBuilder)是有可能做這樣的事情,例如
namespace domain.com.external_access
{
public void Configuration(IAppBuilder app)
{
var asmList = GlobalResolver.Applications();
foreach(var asm in asmList)
{
app.MapSignalR(asm.ApplicationName,false);
}
}
}
有效地給你的東西,像這樣......
http://domain.com.external_access/Reporting/hubs http://domain.com.external_access/Billing/hubs
你有沒有嘗試過:'app.MapSignalR(「/ Reporting/signalr」); app.MapSignalR(「/ Billing/signalr」); ...'? – Pawel 2015-03-02 21:15:51
但是,如果兩個終端都不能解決同一個中心問題,那將會很棒。 – 2015-03-03 06:50:25