public void Configuration(IAppBuilder app) { ConfigureAuth(app); var heartBeat = GlobalHost.DependencyResolver.Resolve <ITransportHeartbeat>(); var monitor = new PresenceMonitor(heartBeat); monitor.StartMonitoring(); // Any connection or hub wire up and configuration should go here app.MapSignalR(); }
private static void SetupSignalR(IJabbrConfiguration jabbrConfig, IKernel kernel, IAppBuilder app) { var resolver = new NinjectSignalRDependencyResolver(kernel); var connectionManager = resolver.Resolve <IConnectionManager>(); var heartbeat = resolver.Resolve <ITransportHeartbeat>(); var hubPipeline = resolver.Resolve <IHubPipeline>(); var configuration = resolver.Resolve <IConfigurationManager>(); // Enable service bus scale out if (!String.IsNullOrEmpty(jabbrConfig.ServiceBusConnectionString) && !String.IsNullOrEmpty(jabbrConfig.ServiceBusTopicPrefix)) { var sbConfig = new ServiceBusScaleoutConfiguration(jabbrConfig.ServiceBusConnectionString, jabbrConfig.ServiceBusTopicPrefix) { TopicCount = 5 }; resolver.UseServiceBus(sbConfig); } if (jabbrConfig.ScaleOutSqlServer) { resolver.UseSqlServer(ConfigurationManager.ConnectionStrings["Jabbr"].ConnectionString); } kernel.Bind <IConnectionManager>() .ToConstant(connectionManager); // We need to extend this since the inital connect might take a while configuration.TransportConnectTimeout = TimeSpan.FromSeconds(30); var config = new HubConfiguration { Resolver = resolver }; hubPipeline.AddModule(kernel.Get <LoggingHubPipelineModule>()); app.MapSignalR(config); var monitor = new PresenceMonitor(kernel, connectionManager, heartbeat); monitor.Start(); }
public static void ConfigureSignalR(IAppBuilder app) { var kernel = new StandardKernel(); var resolver = new NinjectSignalRDependencyResolver(kernel); kernel.Bind <IStockTicker>().To <StockTicker>().InSingletonScope(); kernel.Bind <IHubConnectionContext>() .ToMethod(context => resolver.Resolve <IConnectionManager>().GetHubContext <StockTickerHub>().Clients) .WhenInjectedInto <IStockTicker>(); var config = new HubConfiguration() { Resolver = resolver }; var heartBeat = GlobalHost.DependencyResolver.Resolve <ITransportHeartbeat>(); var monitor = new PresenceMonitor(heartBeat); monitor.StartMonitoring(); //Using the ninject dependency resolver, the ITransportHeartbeat.GetConnections() in the PresenceMonitor never returns any connections app.MapSignalR(config); }
private static void SetupSignalR(IKernel kernel, IAppBuilder app) { var resolver = new NinjectSignalRDependencyResolver(kernel); var connectionManager = resolver.Resolve <IConnectionManager>(); var heartbeat = resolver.Resolve <ITransportHeartbeat>(); var hubPipeline = resolver.Resolve <IHubPipeline>(); kernel.Bind <IConnectionManager>() .ToConstant(connectionManager); var config = new HubConfiguration { Resolver = resolver }; hubPipeline.AddModule(kernel.Get <LoggingHubPipelineModule>()); app.MapSignalR(config); var monitor = new PresenceMonitor(kernel, connectionManager, heartbeat); monitor.Start(); }