我有多个SignalR'服务'正在运行,只有一个UI可以访问它们.
如何让客户端js与不同Url的多个连接通信?因为看起来我只能为$ .connection.hub指定一个url,而且我不能使用多个'signalr/hubs'客户端脚本.
有帮助吗?谢谢.
我在控制台应用程序中创建了一个简单的SignalR集线器:
class Program
{
static void Main(string[] args)
{
using (WebApp.Start<Startup>("http://localhost:1968"))
{
Console.WriteLine("Server running!");
Console.ReadLine();
}
}
}
public static class UserHandler
{
public static HashSet<string> ConnectedIds = new HashSet<string>();
}
[HubName("echo")]
public class EchoHub : Hub
{
public void Say(string message)
{
Trace.WriteLine("hub: "+message);
Clients.All.AddMessage(message);
}
public override Task OnConnected()
{
UserHandler.ConnectedIds.Add(Context.ConnectionId);
return base.OnConnected();
}
public override Task OnDisconnected()
{
UserHandler.ConnectedIds.Remove(Context.ConnectionId);
return base.OnDisconnected();
}
}
class Startup
{
public void Configuration(IAppBuilder app)
{
app.MapSignalR();
}
}
Run Code Online (Sandbox Code Playgroud)
当我尝试从Silverlight应用程序连接它时,它成功:
static Microsoft.AspNet.SignalR.Client.HubConnection …
Run Code Online (Sandbox Code Playgroud)