示例#1
0
        public void Configuration(IAppBuilder app)
        {
            var builder    = new ContainerBuilder();
            var assemblies = AppDomain.CurrentDomain.GetAssemblies();
            var config     = new HttpConfiguration();

            // For more information on how to configure your application, visit http://go.microsoft.com/fwlink/?LinkID=316888
            //enable cors origin requests
            app.UseCors(Microsoft.Owin.Cors.CorsOptions.AllowAll);

            // Web API routes
            config.MapHttpAttributeRoutes();

            config.Routes.MapHttpRoute(
                name: "DefaultApi",
                routeTemplate: "api/{controller}/{action}/{id}",
                defaults: new { id = RouteParameter.Optional }
                );

            // Register your Web API controllers.
            builder.RegisterApiControllers(Assembly.GetExecutingAssembly());
            // builder.RegisterWebApiFilterProvider(config); // using this prevents authorize filter from executing
            builder.RegisterType <AppSettings>().As <IAppSettings>();

            // Set the dependency resolver to be Autofac.
            FrontendBootstrapper.Bootstrap(builder, assemblies);

            var container = builder.Build();

            app.UseAutofacMiddleware(container);
            app.UseAutofacWebApi(config);

            //var myProvider = new MyAuthorizationServerProvider();
            //OAuthAuthorizationServerOptions options = new OAuthAuthorizationServerOptions
            //{
            //    AllowInsecureHttp = true,
            //    TokenEndpointPath = new PathString("/token"),
            //    AccessTokenExpireTimeSpan = TimeSpan.FromDays(1),
            //    Provider = myProvider,
            //};
            // app.UseOAuthAuthorizationServer(options);
            // app.UseOAuthBearerAuthentication(new OAuthBearerAuthenticationOptions());
            app.UseWebApi(config);
        }
示例#2
0
        private void RegisterAutofac()
        {
            var builder = new ContainerBuilder();

            // Register your Web API controllers.
            builder.RegisterApiControllers(Assembly.GetExecutingAssembly());

            // OPTIONAL: Register the Autofac filter provider.
            //builder.RegisterWebApiFilterProvider(config);

            // OPTIONAL: Register the Autofac model binder provider.
            //builder.RegisterWebApiModelBinderProvider();

            var assemblies = AppDomain.CurrentDomain.GetAssemblies();

            builder.RegisterType <AppSettings>().As <IAppSettings>();

            // Set the dependency resolver to be Autofac.
            FrontendBootstrapper.Bootstrap(builder, assemblies);

            var container = builder.Build();

            GlobalConfiguration.Configuration.DependencyResolver = new AutofacWebApiDependencyResolver(container);
        }