public void Configuration(IAppBuilder app)
        {
            var httpConfig = new WebApiHttpConfiguration();
            app.UseWebApi(httpConfig);

            app.RunSignalR();
        }
        public void Configuration(IAppBuilder app)
        {
            var httpConfig = new WebApiHttpConfiguration();
            app.UseWebApi(httpConfig);

            // Branch the pipeline here for requests that start with "/signalr"
            app.Map("/signalr", map =>
            {
                // Setup the CORS middleware to run before SignalR. By default this will allow all origins. 
                // You can configure the set of origins and/or http verbs by providing a cors options with a different policy.
                map.UseCors(CorsOptions.AllowAll);
                var hubConfiguration = new HubConfiguration();

                // handle custom serilaization for lowerCamelCase 
                var settings = new JsonSerializerSettings { ContractResolver = new SignalRContractResolver() };
                var serializer = JsonSerializer.Create(settings);
                GlobalHost.DependencyResolver.Register(typeof(JsonSerializer), () => serializer);

                // Run the SignalR pipeline. We're not using MapSignalR since this branch already runs under the "/signalr" path.
                map.RunSignalR(hubConfiguration);
            });

            // for static files: Install-Package Microsoft.Owin.StaticFiles
            //var fileServerOptions = new FileServerOptions {};
            //app.UseFileServer(fileServerOptions);
        }