SignalR Server和Client在同一个程序集中,如何指定hub

时间:2016-08-25 20:52:07

标签: c# server client signalr signalr-hub

当我在同一个库中实现SignalR Server和Client时,如何告诉服务器hubs使用哪个?

我的第一次尝试是:

public void Configuration(IAppBuilder app)
{
    var hubConfiguration = new HubConfiguration();
    hubConfiguration.EnableDetailedErrors = true;
    hubConfiguration.EnableJavaScriptProxies = false;
    hubConfiguration.Resolver.Resolve<TeamHubServer>();

    app.UseCors(CorsOptions.AllowAll);
    app.MapSignalR(hubConfiguration);
}

似乎已注册从classes继承的所有Hub

非常感谢!

1 个答案:

答案 0 :(得分:1)

您必须定义一个继承自Hub

的类
public class ExampleHub : Hub

然后覆盖这两个方法

public override Task OnConnected()
public override Task OnDisconnected(bool stopCalled)

您将能够在ExampleHub类中定义新方法

完成所有这些后,您将调用以下方法:

var con = GlobalHost.ConnectionManager.GetHubContext<ExampleHub>();
con.Clients.All.addNew(param);