public void Configuration(IAppBuilder app)
        {
            HttpConfiguration config = new HttpConfiguration();

            // dependency resolver
            config.DependencyResolver = new WindsorDependencyResolver(_container);

            // configure authentication
            ConfigureOAuth(app);
            var properties = new Microsoft.Owin.BuilderProperties.AppProperties(app.Properties);
            var token      = properties.OnAppDisposing;

            if (token != System.Threading.CancellationToken.None)
            {
                token.Register(Close);
            }

            // Configure Web API for self-host.
            config.EnableCors(new EnableCorsAttribute("*", "*", "GET, POST, OPTIONS, PUT, DELETE"));

            // register routing
            WebApiConfig.Register(config, _container);

            app.UseCors(Microsoft.Owin.Cors.CorsOptions.AllowAll);
            app.UseWebApi(config);
        }
        public void Configuration(IAppBuilder appBuilder)
        {
            var properties = new Microsoft.Owin.BuilderProperties.AppProperties(appBuilder.Properties);
            var token      = properties.OnAppDisposing;

            if (token != System.Threading.CancellationToken.None)
            {
                token.Register(Close);
            }
            appBuilder.UsePerWebRequestLifestyleOwinMiddleware();

            //
            // Configure Web API for self-host.
            //
            HttpConfiguration config = new HttpConfiguration();

            WebApiConfig.Register(config);
            appBuilder.UseWebApi(config);
        }