2016-08-25 2 views
0

Lorsque j'implémente un serveur SignalR Server et un client dans la même bibliothèque, comment indiquer au serveur quel hubs utiliser?SignalR Server et Client dans le même assemblage, comment spécifier le concentrateur

Mon premier essai était:

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); 
} 

Il semble que tous les classes héritant de Hub sont enregistrés.

Merci beaucoup!

Répondre

1

Vous devez définir une classe qui hérite de Hub

public class ExampleHub : Hub 

puis passer outre ces deux méthodes

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

et vous serez en mesure de définir de nouvelles méthodes dans la classe ExampleHub

Après tout cela, vous appelez la méthode comme suit:

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