public void Configuration(IAppBuilder app) { app.Use <AuthenticationMidleware>(); app.UseStageMarker(PipelineStage.Authenticate); AreaRegistration.RegisterAllAreas(); RouteConfig.RegisterRoutes(RouteTable.Routes); app.MapSignalR(); GlobalHost.DependencyResolver.Register(typeof(IJavaScriptMinifier), () => new SignalRMinifier()); var connection = ConnectionMultiplexer.Connect(ConfigurationManager.AppSettings["RedisConnection"]); var redisRepo = RedisRepo.GetInstance(connection, (chanel, value) => { GlobalHost.ConnectionManager.GetHubContext <ChatHub>().Clients.All.DisconnectedUser(value); }); GlobalHost.DependencyResolver.Register(typeof(ChatHub), () => new ChatHub(redisRepo)); GlobalHost.DependencyResolver.Register(typeof(IUserIdProvider), () => new ChatUserIdProvider()); RegisterBundles(BundleTable.Bundles); }