示例#1
0
        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);
        }