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

            var container = ConfigureAutoFac.ConfigureMvc();

            DependencyResolver.SetResolver(new AutofacDependencyResolver(container));
            config.DependencyResolver = new AutofacWebApiDependencyResolver(container);
            //Dit op Configure laten staan, dit wordt namelijk niet in web requests gebruikt
            // Remove the old formatter, add the new one.
            var formatter = new JsonMediaTypeFormatter();
            formatter.SerializerSettings = new JsonSerializerSettings
            {
                Formatting = Formatting.Indented,
                ContractResolver = new CamelCasePropertyNamesContractResolver(),
                ReferenceLoopHandling = ReferenceLoopHandling.Ignore
            };

            config.Formatters.Remove(config.Formatters.JsonFormatter);
            config.Formatters.Add(formatter);
            config.Formatters.Remove(config.Formatters.XmlFormatter);
            WebApiConfig.Register(config);

            app.UseCors(CorsOptions.AllowAll);
            app.UseAutofacMiddleware(container);
            app.UseAutofacMvc();
            app.UseAutofacWebApi(config);
            app.UseWebApi(config);
            ConfigureAuth(app);
        }
Esempio n. 2
0
        public void ConfigureContainer(IAppBuilder app)
        {
            ContainerBuilder builder = new ContainerBuilder();

            DependencyRegistrator.RegisterModules(builder);

            Assembly assembly = typeof(WebApiApplication).Assembly;
            // WebApi
            HttpConfiguration config = GlobalConfiguration.Configuration;

            // This for OWIN integration(OWIN hosting): HttpConfiguration config = new HttpConfiguration();
            builder.RegisterApiControllers(assembly);
            // OPTIONAL: Register the Autofac filter provider: builder.RegisterWebApiFilterProvider(config);

            // MVC
            builder.RegisterControllers(assembly);

            IContainer container = builder.Build();

            // MVC
            DependencyResolver.SetResolver(new AutofacDependencyResolver(container));
            // WebApi
            config.DependencyResolver = new AutofacWebApiDependencyResolver(container);

            app.UseAutofacMiddleware(container);
            app.UseAutofacWebApi(config);
            app.UseAutofacMvc();
        }
Esempio n. 3
0
        public void Configuration(IAppBuilder app)
        {
            // STANDARD WEB API SETUP:

            // Get your HttpConfiguration. In OWIN, you'll create one
            // rather than using GlobalConfiguration.
            var config = new HttpConfiguration();

            var container = ContainerSetup.Create();

            // Run other optional steps, like registering filters,
            // per-controller-type services, etc., then set the dependency resolver
            // to be Autofac.
            config.DependencyResolver = new AutofacWebApiDependencyResolver(container);
            DependencyResolver.SetResolver(new AutofacDependencyResolver(container));

            // OWIN WEB API SETUP:

            // Register the Autofac middleware FIRST, then the Autofac Web API middleware,
            // and finally the standard Web API middleware.
            app.UseAutofacMiddleware(container);
            app.UseAutofacWebApi(config);
            app.UseAutofacMvc();
            app.UseWebApi(config);

            WebApiConfig.Register(config);
            MvcConfig.Register(config);

            //ConfigureAuth(app);
        }
Esempio n. 4
0
        public void Configuration(IAppBuilder app)
        {
            var configuration = new ConfigurationService();

            var builder = new ContainerBuilder();
            builder.Register(c => configuration).As<ConfigurationService>().SingleInstance();
            builder.Register(c => configuration.CurrentConfiguration).As<IAppConfiguration>().SingleInstance();
            builder.Register(c => HttpContext.Current.GetOwinContext().Authentication).InstancePerRequest();

            var container = AutofacBootstrapper.Initialize(builder);

            DependencyResolver.SetResolver(new AutofacDependencyResolver(container));

            // Must register Autofac middleware FIRST!
            app.UseAutofacMiddleware(container);
            app.UseAutofacMvc();

            ConfigureAuth(app, configuration.CurrentConfiguration);

            AntiForgeryConfig.UniqueClaimTypeIdentifier = JwtClaimTypes.Subject;
            AntiForgeryConfig.RequireSsl = true;
            AntiForgeryConfig.CookieName = Prsd.Core.Web.Constants.CookiePrefix + Constants.AntiForgeryCookieName;

            MvcHandler.DisableMvcResponseHeader = true;

            AreaRegistration.RegisterAllAreas();
            FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters);
            RouteConfig.RegisterRoutes(RouteTable.Routes);
            BundleConfig.RegisterBundles(BundleTable.Bundles);
            ModelBinders.Binders.DefaultBinder = new TrimModelBinder();
            DataAnnotationsModelValidatorProvider.RegisterAdapter(typeof(RequiredAttribute), typeof(WeeeRequiredAttributeAdapter));

            ApplicationVersion = Assembly.GetExecutingAssembly().GetName().Version.ToString();
        }
Esempio n. 5
0
        public void Configuration(IAppBuilder app)
        {
            var builder = new ContainerBuilder();
            var config  = GlobalConfiguration.Configuration;

            // REGISTER DEPENDENCIES
            builder.RegisterType <BasketballDbContext>().AsSelf().InstancePerRequest();
            builder.RegisterType <ApplicationUserStore>().As <IUserStore <ApplicationUser> >().InstancePerRequest();
            builder.RegisterType <ApplicationUserManager>().AsSelf().InstancePerRequest();
            builder.RegisterType <ApplicationSignInManager>().AsSelf().InstancePerRequest();
            builder.Register <IAuthenticationManager>(c => HttpContext.Current.GetOwinContext().Authentication).InstancePerRequest();
            builder.Register <IDataProtectionProvider>(c => app.GetDataProtectionProvider()).InstancePerRequest();

            // REGISTER CONTROLLERS SO DEPENDENCIES ARE CONSTRUCTOR INJECTED
            builder.RegisterControllers(Assembly.GetExecutingAssembly());
            builder.RegisterApiControllers(Assembly.GetExecutingAssembly());
            builder.RegisterModule(new AutoMapperModule());

            // BUILD THE CONTAINER
            var container = builder.Build();

            // REPLACE THE MVC DEPENDENCY RESOLVER WITH AUTOFAC
            config.DependencyResolver = new AutofacWebApiDependencyResolver(container);
            DependencyResolver.SetResolver(new AutofacDependencyResolver(container));


            // REGISTER WITH OWIN
            app.UseAutofacMiddleware(container);
            app.UseAutofacWebApi(config);
            app.UseAutofacMvc();


            ConfigureAuth(app);
        }
Esempio n. 6
0
        public void Configuration(IAppBuilder app)
        {
            ConfigureAuth(app);

            var builder = new ContainerBuilder();

            builder.RegisterApiControllers(Assembly.GetExecutingAssembly());
            builder.RegisterControllers(Assembly.GetExecutingAssembly());
            //builder.RegisterType<Class>().As<IClass>();

            var container = builder.Build();

            DependencyResolver.SetResolver(new AutofacDependencyResolver(container));
            GlobalConfiguration.Configuration.DependencyResolver =
                new AutofacWebApiDependencyResolver(container);

            var config = new HttpConfiguration
            {
                DependencyResolver = new AutofacWebApiDependencyResolver(container)
            };

            app.UseAutofacMiddleware(container);
            app.UseAutofacWebApi(config);
            app.UseWebApi(config);
            app.UseAutofacMvc();
        }
Esempio n. 7
0
        public static void Configure(IAppBuilder app)
        {
            var builder = new ContainerBuilder();

            // Register controllers
            builder.RegisterApiControllers(Assembly.GetExecutingAssembly());
            builder.RegisterControllers(Assembly.GetExecutingAssembly());

            // Register repositories
            builder.RegisterType<ProductRepository>().As<IProductRepository>();
            builder.RegisterType<CurrencyRepository>().As<IRepositoryAsync<CurrencyRate>>();

            // Register services
            builder.RegisterType<CurrencyService>().As<ICurrencyService>();

            // Register data context
            builder.RegisterType<DHUEntities>().InstancePerRequest();
            builder.Register(c => new DHUEntities()).InstancePerLifetimeScope();

            var container = builder.Build();

            // Set the MVC and the WebApi dependency resolver.
            DependencyResolver.SetResolver(new AutofacDependencyResolver(container));
            GlobalConfiguration.Configuration.DependencyResolver = new AutofacWebApiDependencyResolver(container);

            app.UseAutofacMiddleware(container);
            app.UseAutofacMvc();
        }
        public void Configuration(IAppBuilder app)
        {
            // Loads the config from our App.config
            XmlConfigurator.Configure();

            // MassTransit to use Log4Net
            Log4NetLogger.Use();

            var container = IocConfig.RegisterDependencies();

            // Sets the Mvc resolver
            DependencyResolver.SetResolver(new AutofacDependencyResolver(container));

            // Sets Mvc Owin resolver as well
            app.UseAutofacMiddleware(container);
            app.UseAutofacMvc();

            // Starts Mass Transit Service bus, and registers stopping of bus on app dispose
            var bus = container.Resolve<IBusControl>();
            var busHandle = bus.StartAsync().Result;

            if (app.Properties.ContainsKey("host.OnAppDisposing"))
            {
                var context = new OwinContext(app.Properties);
                var token = context.Get<CancellationToken>("host.OnAppDisposing");
                if (token != CancellationToken.None)
                {
                    token.Register(() => busHandle.Stop(TimeSpan.FromSeconds(30)));
                }
            }
        }
Esempio n. 9
0
        public static void Configure(IAppBuilder app)
        {
            var builder = new ContainerBuilder();

            // Register your MVC controllers. (MvcApplication is the name of
            // the class in Global.asax.)
            builder.RegisterControllers(typeof(MvcApplication).Assembly);

            builder.Register(c => HttpContext.Current.GetOwinContext().Authentication).As <IAuthenticationManager>();

            builder.RegisterType <OauthAuthenticationService>()
            .As <IOauthAuthenticationService>().UsingConstructor(typeof(IAuthenticationManager));


            // OPTIONAL: Register model binders that require DI.
            builder.RegisterModelBinders(typeof(MvcApplication).Assembly);
            builder.RegisterModelBinderProvider();

            // OPTIONAL: Register web abstractions like HttpContextBase.
            builder.RegisterModule <AutofacWebTypesModule>();

            // Set the dependency resolver to be Autofac.
            var container = builder.Build();

            DependencyResolver.SetResolver(new AutofacDependencyResolver(container));

            app.UseAutofacMiddleware(container);
            app.UseAutofacMvc();
        }
Esempio n. 10
0
        public void Configuration(IAppBuilder app)
        {
            StuntmanOptions
            .AddUser(new StuntmanUser("user-1", "User 1")
                     .AddClaim("Awesome", "yes")
                     .AddClaim(ClaimTypes.Role, "Administrator")
                     .SetAccessToken("test-token"));

            var builder = new ContainerBuilder();

            builder.RegisterControllers(typeof(MvcApplication).Assembly);

            builder.RegisterModelBinders(typeof(Startup).Assembly);
            builder.RegisterModelBinderProvider();

            builder.RegisterModule <AutofacWebTypesModule>();

            builder.RegisterSource(new ViewRegistrationSource());

            builder.RegisterFilterProvider();

            var container = builder.Build();

            DependencyResolver.SetResolver(new AutofacDependencyResolver(container));

            app.UseStuntman(StuntmanOptions);
            app.UseAutofacMiddleware(container);
            app.UseAutofacMvc();
        }
Esempio n. 11
0
        public static void InitialiseIoC(IAppBuilder app)
        {
            var builder = new ContainerBuilder();

            builder.RegisterType <ApplicationDbContext>().AsSelf().InstancePerRequest();
            builder.Register <IAuthenticationManager>(c => HttpContext.Current.GetOwinContext().Authentication).InstancePerRequest();
            builder.Register <IDataProtectionProvider>(c => app.GetDataProtectionProvider()).InstancePerRequest();

            builder.RegisterControllers(typeof(MvcApplication).Assembly);
            //repos
            builder.RegisterType <DataContext>().SingleInstance().As <IDataContext>();

            builder.RegisterType <CompanyRepository>().As <ICompanyRepository>();


            builder.RegisterType <CompanyBusinessService>().As <ICompanyBusinessService>();


            builder.RegisterType <CompanyModelService>().As <ICompanyModelService>();



            AppContainer = builder.Build();
            DependencyResolver.SetResolver(new AutofacDependencyResolver(AppContainer));

            // REGISTER WITH OWIN
            app.UseAutofacMiddleware(AppContainer);
            app.UseAutofacMvc();
        }
Esempio n. 12
0
        public void Configuration(IAppBuilder app)
        {
            var builder = new ContainerBuilder();

            builder.RegisterControllers(typeof(MvcApplication).Assembly);
            builder.RegisterFilterProvider();
            builder.RegisterSource(new ViewRegistrationSource());

            builder.Register(c => new ApplicationContext(ConnectionStringName)).As <IDbContext>().InstancePerRequest();
            builder.RegisterType <ApplicationUserStore>().As <IUserStore <Kullanici> >().InstancePerRequest();
            builder.RegisterType <ApplicationUserManager>().AsSelf().InstancePerRequest();
            builder.RegisterType <ApplicationSignInManager>().AsSelf().InstancePerRequest();
            builder.RegisterGeneric(typeof(Repository <>)).As(typeof(IRepository <>)).InstancePerRequest();
            builder.RegisterType <IdentityRepository>().As <IIdentityRepostitory>().InstancePerRequest();
            builder.RegisterType <KullaniciRepository>().As <IKullaniciRepository>().InstancePerRequest();
            builder.RegisterType <RolRepository>().As <IRolRepository>().InstancePerRequest();
            builder.RegisterType <UrunRepository>().As <IUrunRepository>().InstancePerRequest();
            builder.RegisterType <SaticiRepository>().As <ISaticiRepository>().InstancePerRequest();

            builder.Register(c => HttpContext.Current.GetOwinContext().Authentication).InstancePerRequest();
            builder.Register(c => app.GetDataProtectionProvider()).InstancePerRequest();

            var container = builder.Build();

            DependencyResolver.SetResolver(new AutofacDependencyResolver(container));

            app.UseAutofacMiddleware(container);
            app.UseAutofacMvc();

            ConfigureAuth(app);

            SeedRoles();
            CreateAdminUser();
        }
Esempio n. 13
0
        private void ConfigureAutofac(IAppBuilder app, HttpConfiguration webApiConfig)
        {
            /*
             * if (_container == null)
             * {
             *  _container = InitializeAutofacContainer();
             * }
             */

            if (GlobalContainer.IocContainer == null)
            {
                GlobalContainer.IocContainer = InitializeAutofacContainer();
            }

            //Middlewares: Enabling DI for OWIN middleware:
            //should be the first middleware added to IAppBuilder
            //app.UseAutofacMiddleware(GlobalContainer.IocContainer);

            //Extending the lifetime scope to MVC
            // Autofac MVC Integration -- http://alexmg.com/owin-support-for-the-web-api-2-and-mvc-5-integrations-in-autofac/
            app.UseAutofacMvc();

            //MVC: Set MVC DI resolver to use our Autofac container
            var dependencyResolver = new AutofacDependencyResolver(GlobalContainer.IocContainer);

            System.Web.Mvc.DependencyResolver.SetResolver(dependencyResolver); //TODO: Still needed with OWIN?

            //WebAPI: Set the WebApi dependency resolver.
            //webApiConfig.DependencyResolver = new AutofacWebApiDependencyResolver(GlobalContainer.IocContainer);

            //Web.API enable lifetime scope created during the OWIN request to extend into WebAPI.
            //app.UseAutofacWebApi(webApiConfig);
        }
Esempio n. 14
0
        public static void ConfigureAutofac(IAppBuilder app)
        {
            var builder = new ContainerBuilder();

            // REGISTER DEPENDENCIES
            builder.RegisterType <ApplicationDbContext>().AsSelf().InstancePerRequest();
            builder.RegisterType <ApplicationUserStore>().As <IUserStore <ApplicationUser> >().InstancePerRequest();
            builder.RegisterType <ApplicationUserManager>().AsSelf().InstancePerRequest();
            builder.RegisterType <ApplicationSignInManager>().AsSelf().InstancePerRequest();
            builder.Register <IAuthenticationManager>(c => HttpContext.Current.GetOwinContext().Authentication).InstancePerRequest();
            builder.Register <IDataProtectionProvider>(c => app.GetDataProtectionProvider()).InstancePerRequest();

            // REGISTER CONTROLLERS SO DEPENDENCIES ARE CONSTRUCTOR INJECTED
            builder.RegisterControllers(typeof(MvcApplication).Assembly);

            // BUILD THE CONTAINER
            var container = builder.Build();

            // REPLACE THE MVC DEPENDENCY RESOLVER WITH AUTOFAC
            DependencyResolver.SetResolver(new AutofacDependencyResolver(container));

            // REGISTER WITH OWIN
            app.UseAutofacMiddleware(container);
            app.UseAutofacMvc();
        }
Esempio n. 15
0
        public void Configuration(IAppBuilder app)
        {
            ConfigureAuth(app);
            var config  = new HttpConfiguration();
            var builder = new ContainerBuilder();

            builder.RegisterControllers(typeof(MvcApplication).Assembly);
            builder.RegisterApiControllers(typeof(BankingAccountsController).Assembly);

            builder.RegisterType <ApplicationDbContext>().As <IApplicationDbContext>();
            builder.RegisterType <DbContextFactory>().As <IDbContextFactory>();
            builder.RegisterType <BankingAccountBS>().As <IBankingAccount>();

            var container = builder.Build();

            DependencyResolver.SetResolver(new AutofacDependencyResolver(container));

            config.DependencyResolver = new AutofacWebApiDependencyResolver(container);


            WebApiConfig.Register(config);

            app.UseAutofacMiddleware(container);
            app.UseAutofacWebApi(config);
            app.UseWebApi(config);
            app.UseAutofacMvc();
        }
Esempio n. 16
0
        public static void ConfigureAutofac(this IAppBuilder app)
        {
            var builder = new ContainerBuilder();

            builder.RegisterControllers(Assembly.GetExecutingAssembly());


            builder.RegisterType <DbConsultantContext>()
            .AsSelf()
            .InstancePerLifetimeScope();

            builder.RegisterGeneric(typeof(Repository <>))
            .As(typeof(IRepository <>));

            builder.RegisterType <UsersService>().As <IUsersService>();
            builder.RegisterType <QuestionService>().As <IQuestionService>();

            var container = builder.Build();

            DependencyResolver.SetResolver(new AutofacDependencyResolver(container));

            app.UseAutofacMiddleware(container);
            app.UseAutofacMvc();

            GlobalHost.DependencyResolver.Register(typeof(ChatHub), () => new ChatHub(container.Resolve <IQuestionService>()));
        }
Esempio n. 17
0
        public void Configuration(IAppBuilder app)
        {
            //AreaRegistration.RegisterAllAreas();
            //RouteConfig.RegisterRoutes(RouteTable.Routes);
            //BundleConfig.RegisterBundles(BundleTable.Bundles);

            // In OWIN you create your own HttpConfiguration rather than re-using the GlobalConfiguration.
            var config = new HttpConfiguration();

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

            var builder = new ContainerBuilder();

            builder.RegisterControllers(typeof(MvcApplication).Assembly);


            var configInstance = (ProductScoreApiSection)ConfigurationManager.GetSection("ProductScoreApiGroup/ProductScoreApi");

            builder.RegisterInstance(configInstance).As <IProductScoresApiConfig>().SingleInstance().ExternallyOwned();


            var container = builder.Build();

            DependencyResolver.SetResolver(new AutofacDependencyResolver(container));

            app.UseAutofacMiddleware(container);
            app.UseAutofacMvc();
        }
Esempio n. 18
0
        public void Configuration(IAppBuilder app)
        {
            // Get your HttpConfiguration. In OWIN, you'll create one rather than using GlobalConfiguration.
            var config = new HttpConfiguration();

            // Create Autofac ContainerBuilder
            var builder = new ContainerBuilder();

            RegisterWebApi(builder, config);
            RegisterMvc(builder);
            RegisterServices(builder);

            // Register dependencies, then...
            var container = builder.Build();

            // Configure WebApi, MVC and Auth
            ConfigureWebApi(container, config);
            ConfigureMvc(container);
            ConfigureAuth(app);
            ConfigureMapper();

            // OWIN WEB API SETUP:

            // Register the Autofac middleware FIRST, then the Autofac Web API middleware,
            // and finally the standard Web API middleware.
            app.UseAutofacMiddleware(container);
            app.UseAutofacWebApi(config);
            app.UseWebApi(config);
            app.UseAutofacMvc();
        }
Esempio n. 19
0
        public void Configuration(IAppBuilder app)
        {
            app.Use <FixContentTypeHeader>();

            ContainerBuilder builder  = new ContainerBuilder();
            Assembly         assembly = Assembly.GetExecutingAssembly();

            builder.RegisterModule <AutofacWebTypesModule>();
            builder.RegisterFilterProvider();
            builder.RegisterControllers(assembly);
            builder.RegisterApiControllers(assembly);

            RegisterServices(builder);

            IContainer container = builder.Build();

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

            // Map the help path and force next to be invoked
            app.Map("/Help", appbuilder => appbuilder.UseHandlerAsync((request, response, next) => next()));

            app.UseAutofacMiddleware(container);
            app.UseAutofacMvc();
            app.UseAutofacWebApi(GlobalConfiguration.Configuration);
            app.UseWebApi(GlobalConfiguration.Configuration);
        }
Esempio n. 20
0
        public void Configuration(IAppBuilder app)
        {
            var builder = new ContainerBuilder();
            var config = new HttpConfiguration();
            // Identity Dependencies
            builder.RegisterType<ApplicationDbContext>().AsSelf().InstancePerLifetimeScope();
            builder.RegisterType<ApplicationUserStore>().As<IUserStore<ApplicationUser>>().InstancePerLifetimeScope();
            builder.RegisterType<ApplicationUserManager>().AsSelf().InstancePerLifetimeScope();
            builder.RegisterType<ApplicationSignInManager>().AsSelf().InstancePerLifetimeScope();
            builder.Register<IAuthenticationManager>(c => HttpContext.Current.GetOwinContext().Authentication);

            // Web Application Dependencies
            builder.RegisterType<StoreContext>().AsSelf().InstancePerRequest();
            builder.RegisterType<StoreItemService>().AsSelf();
            builder.RegisterType<ReceivingItemService>().AsSelf();

            // Autofac MVC Boilerplate
            builder.RegisterModule<AutofacWebTypesModule>();
            builder.RegisterFilterProvider();
            builder.RegisterControllers(typeof(MvcApplication).Assembly);

            //Autofac WebAPI2 Boilerplate
            builder.RegisterApiControllers(typeof(MvcApplication).Assembly);
            builder.RegisterWebApiFilterProvider(config);

            var container = builder.Build();
            GlobalConfiguration.Configuration.DependencyResolver = new AutofacWebApiDependencyResolver(container);

            DependencyResolver.SetResolver(new AutofacDependencyResolver(container));

            app.UseAutofacMiddleware(container);
            app.UseAutofacMvc();
            app.UseAutofacWebApi(config);
            ConfigureAuth(app);
        }
Esempio n. 21
0
        public void Configuration(IAppBuilder app)
        {
            var builder = new ContainerBuilder();

            builder.RegisterModule(new DataModule(app));

            builder.RegisterControllers(typeof(MvcApplication).Assembly);

            var container = builder.Build();

            // REPLACE THE MVC DEPENDENCY RESOLVER WITH AUTOFAC
            DependencyResolver.SetResolver(new AutofacDependencyResolver(container));

            //Register With OWIN
            app.UseAutofacMiddleware(container);
            app.UseAutofacMvc();

            ConfigureAuth(app);
            //GlobalConfiguration.Configuration
            //    .UseSqlServerStorage("DefaultConnection");

            //app.UseHangfireDashboard("/myJobDashbord", new DashboardOptions()
            //{
            //    Authorization = new[] { new HangfireAuthorizationFilter()}
            //});
            //RecurringJob.AddOrUpdate(
            //    () => ProductsController.ClearImages(), Cron.Minutely()
            //);
            //app.UseHangfireServer();
        }
        public void Configuration(IAppBuilder app)
        {
            ConfigureAuth(app);


            var container = new ContainerBuilder();

            container.RegisterControllers(AppDomain.CurrentDomain.GetAssemblies());
            container.RegisterApiControllers(AppDomain.CurrentDomain.GetAssemblies());

            container.RegisterType <StockTakeRepository>().As <IStockTakeRepository>();
            container.RegisterType <StockTakeService>().As <IStockTakeService>();

            var builder = container.Build();// RegisterServices.Register(builder);


            DependencyResolver.SetResolver(new AutofacDependencyResolver(builder));

            var dependencyResolver = new AutofacWebApiDependencyResolver(builder);

            GlobalConfiguration.Configuration.DependencyResolver = dependencyResolver;

            app.UseAutofacMiddleware(builder);

            app.UseAutofacMvc();


            using (var context = new ApplicationDbContext())
            {
                AccountDbInitializer.Seed(context);
            }
        }
        public void Configuration(IAppBuilder app)
        {
            // Loads the config from our App.config
            XmlConfigurator.Configure();

            // MassTransit to use Log4Net
            Log4NetLogger.Use();

            var container = IocConfig.RegisterDependencies();

            // Sets the Mvc resolver
            DependencyResolver.SetResolver(new AutofacDependencyResolver(container));

            // Sets Mvc Owin resolver as well
            app.UseAutofacMiddleware(container);
            app.UseAutofacMvc();

            // Starts Mass Transit Service bus, and registers stopping of bus on app dispose
            var bus       = container.Resolve <IBusControl>();
            var busHandle = TaskUtil.Await(() => bus.StartAsync());

            if (app.Properties.ContainsKey("host.OnAppDisposing"))
            {
                var context = new OwinContext(app.Properties);
                var token   = context.Get <CancellationToken>("host.OnAppDisposing");
                if (token != CancellationToken.None)
                {
                    token.Register(() => busHandle.Stop(TimeSpan.FromSeconds(30)));
                }
            }
        }
Esempio n. 24
0
        public void Configuration(IAppBuilder app)
        {
            var builder = new ContainerBuilder();

            // REGISTER DEPENDENCIES
            builder.RegisterType<ApplicationDbContext>().AsSelf().InstancePerRequest();
            builder.RegisterType<ApplicationUserStore>().As<IUserStore<ApplicationUser>>().InstancePerRequest();
            builder.RegisterType<ApplicationUserManager>().AsSelf().InstancePerRequest();
            builder.RegisterType<ApplicationSignInManager>().AsSelf().InstancePerRequest();
            builder.Register<IAuthenticationManager>(c => HttpContext.Current.GetOwinContext().Authentication).InstancePerRequest();
            builder.Register<IDataProtectionProvider>(c => app.GetDataProtectionProvider()).InstancePerRequest();

            // REGISTER CONTROLLERS SO DEPENDENCIES ARE CONSTRUCTOR INJECTED
            builder.RegisterControllers(typeof(MvcApplication).Assembly);

            // BUILD THE CONTAINER
            var container = builder.Build();

            // REPLACE THE MVC DEPENDENCY RESOLVER WITH AUTOFAC
            DependencyResolver.SetResolver(new AutofacDependencyResolver(container));

            // REGISTER WITH OWIN
            app.UseAutofacMiddleware(container);
            app.UseAutofacMvc();

            ConfigureAuth(app);
        }
Esempio n. 25
0
        public void Configuration(IAppBuilder app)
        {
            var builder = new ContainerBuilder();

            //Config Ioc Container
            AutofacConfig.Config(builder);

            //向Autofac注册用于AspNet Identity.
            builder.RegisterType <ApplicationSignInManager>().AsSelf().InstancePerRequest();
            builder.Register <IAuthenticationManager>(c => HttpContext.Current.GetOwinContext().Authentication).InstancePerRequest();
            builder.Register <IDataProtectionProvider>(c => app.GetDataProtectionProvider()).InstancePerRequest();

            //注册该程序集中的所有Controller。
            builder.RegisterControllers(typeof(MvcApplication).Assembly);

            var container = builder.Build(); //创建容器

            AutofacContainer = container;
            DependencyResolver.SetResolver(new AutofacDependencyResolver(container)); //覆盖MVC默认的依赖关系解析器。Controller创建器,以便使用提供参数的构造函数来创建。

            app.UseAutofacMiddleware(container);
            app.UseAutofacMvc();



            ConfigureAuth(app);
        }
Esempio n. 26
0
        public void Configuration(IAppBuilder app)
        {
            var builder = new ContainerBuilder();
            var assemblies = BuildManager.GetReferencedAssemblies().Cast<Assembly>().ToArray();

            builder.RegisterType<Entities>().As<IDbContext>().InstancePerLifetimeScope();
            builder.RegisterType<ApplicationDbContext>().AsSelf().InstancePerLifetimeScope();

            builder.RegisterAssemblyTypes(typeof(IRepository<>).Assembly).AsClosedTypesOf(typeof(IRepository<>)).InstancePerRequest();

            builder.RegisterAssemblyTypes(ServiceAssembly).Where(type => typeof(ServiceBase).IsAssignableFrom(type) && !type.IsAbstract).AsImplementedInterfaces().InstancePerRequest();
            builder.RegisterAssemblyTypes(MapperAssembly).Where(type => typeof(MapperBase).IsAssignableFrom(type) && !type.IsAbstract).AsImplementedInterfaces().InstancePerRequest();

            builder.RegisterType<ApplicationUserStore>().As<IUserStore<ApplicationUser>>().InstancePerRequest();
            builder.RegisterType<ApplicationUserManager>().AsSelf().InstancePerRequest();
            builder.RegisterType<ApplicationSignInManager>().AsSelf().InstancePerRequest();
            builder.RegisterType<RoleStore<IdentityRole>>().As<IRoleStore<IdentityRole, string>>().InstancePerRequest();
            builder.RegisterType<ApplicationRoleManager>().AsSelf().InstancePerRequest();
            builder.Register(c => HttpContext.Current.GetOwinContext().Authentication).InstancePerRequest();
            builder.Register(c => app.GetDataProtectionProvider()).InstancePerRequest();

            builder.RegisterModule(new LoggingModule());

            builder.RegisterControllers(assemblies);

            var container = builder.Build();

            DependencyResolver.SetResolver(new AutofacDependencyResolver(container));

            app.UseAutofacMiddleware(container);
            app.UseAutofacMvc();

            ConfigureAuth(app);
        }
        public static void ConfigureDependencyResolver(IAppBuilder app)
        {
            var builder  = new ContainerBuilder();
            var assembly = Assembly.GetExecutingAssembly();

            builder.RegisterControllers(assembly);
            // Register API controllers using assembly scanning.
            builder.RegisterApiControllers(assembly);
            builder.RegisterFilterProvider();

            RegisterModules(builder, app);

            var container = builder.Build();

            app.UseAutofacMiddleware(container);

            app.UseAutofacMvc();
            var resolver = new AutofacDependencyResolver(container);

            DependencyResolver.SetResolver(resolver);

            // This override is needed because Web API is not using DependencyResolver to build controllers
            var config = GlobalConfiguration.Configuration;

            app.UseAutofacWebApi(config);
            var apiResolver = new AutofacWebApiDependencyResolver(container);

            config.DependencyResolver = apiResolver;
        }
Esempio n. 28
0
        public void Configuration(IAppBuilder app)
        {
            var configuration = new ConfigurationService();

            var builder = new ContainerBuilder();
            builder.Register(c => configuration).As<ConfigurationService>().SingleInstance();
            builder.Register(c => configuration.CurrentConfiguration).As<AppConfiguration>().SingleInstance();
            builder.Register(c => HttpContext.Current.GetOwinContext().Authentication).InstancePerRequest();

            var container = AutofacBootstrapper.Initialize(builder);

            DependencyResolver.SetResolver(new AutofacDependencyResolver(container));

            // Must register Autofac middleware FIRST!
            app.UseAutofacMiddleware(container);
            app.UseAutofacMvc();

            ConfigureAuth(app, configuration.CurrentConfiguration);

            AntiForgeryConfig.UniqueClaimTypeIdentifier = JwtClaimTypes.Subject;
            AntiForgeryConfig.RequireSsl = true;
            AntiForgeryConfig.CookieName = Prsd.Core.Web.Constants.CookiePrefix + Constants.AntiForgeryCookieName;

            MvcHandler.DisableMvcResponseHeader = true;
        }
Esempio n. 29
0
        public void Configuration(IAppBuilder app)
        {
            var configuration = new ConfigurationService();
            var auditService  = new AuditService();

            var builder = new ContainerBuilder();

            builder.Register(c => configuration).As <ConfigurationService>().SingleInstance();
            builder.Register(c => configuration.CurrentConfiguration).As <AppConfiguration>().SingleInstance();
            builder.Register(c => HttpContext.Current.GetOwinContext().Authentication).InstancePerRequest();
            builder.Register(c => auditService).As <IAuditService>().SingleInstance();

            var container = AutofacBootstrapper.Initialize(builder);

            DependencyResolver.SetResolver(new AutofacDependencyResolver(container));

            // Must register Autofac middleware FIRST!
            app.UseAutofacMiddleware(container);
            app.UseAutofacMvc();

            ConfigureAuth(app, configuration.CurrentConfiguration);

            AntiForgeryConfig.UniqueClaimTypeIdentifier = JwtClaimTypes.Subject;
            AntiForgeryConfig.RequireSsl = true;
            AntiForgeryConfig.CookieName = Prsd.Core.Web.Constants.CookiePrefix + Constants.AntiForgeryCookieName;

            FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters, configuration.CurrentConfiguration);

            MvcHandler.DisableMvcResponseHeader = true;

            ServicePointManager.SecurityProtocol |= SecurityProtocolType.Tls11 | SecurityProtocolType.Tls12;

            ApplicationVersion = Assembly.GetExecutingAssembly().GetName().Version.ToString();
        }
        public void ConfigureDependencies(IAppBuilder app)
        {
            var builder = new ContainerBuilder();

            // Register your MVC controllers.
            builder.RegisterControllers(typeof(MvcApplication).Assembly);

            // Register Modules
            builder.RegisterModule <ServiceModule>();

            //builder.RegisterType<ApplicationUserManager>().AsSelf().InstancePerRequest();
            //builder.RegisterType<ApplicationSignInManager>().AsSelf().InstancePerRequest();
            //builder.Register(c => new UserStore<ApplicationUser, UserRoles, UserClaim, UserLogin, ApplicationRole, Guid>("ApplicationDatabase")).AsImplementedInterfaces().InstancePerRequest();
            builder.Register(c => HttpContext.Current.GetOwinContext().Authentication).As <IAuthenticationManager>();
            //builder.Register(c => new IdentityFactoryOptions<ApplicationUserManager>
            //{
            //    DataProtectionProvider = new Microsoft.Owin.Security.DataProtection.DpapiDataProtectionProvider("Application​")
            //});

            //Services
            builder.RegisterType <WebsiteContext>().As <ServiceContext>().InstancePerRequest();


            // Run other optional steps, like registering model binders,
            // web abstractions, etc., then set the dependency resolver
            // to be Autofac.
            var container = builder.Build();

            DependencyResolver.SetResolver(new AutofacDependencyResolver(container));

            // Register the Autofac middleware FIRST, then the Autofac MVC middleware.
            app.UseAutofacMiddleware(container);
            app.UseAutofacMvc();
        }
Esempio n. 31
0
        public void Configuration(IAppBuilder app)
        {
            var builder = new ContainerBuilder();

            // 註冊MVC要用的
            builder.RegisterType <UserService>().AsImplementedInterfaces().InstancePerRequest();
            builder.RegisterControllers(typeof(Global).Assembly).InstancePerRequest();

            // 註冊OWIN要用的
            // OAuth的Provider建立一次,但是在method使用服務,所以可以使用InstancePerRequest
            builder.RegisterType <ProviderService>().AsImplementedInterfaces().InstancePerRequest();

            // MiddleWare的註冊順序 先註冊MiddleWare要用的Service 在註冊MiddleWare
            builder.RegisterType <ExcetpionMiddleWareService>().AsImplementedInterfaces().InstancePerRequest();
            builder.RegisterType <ExceptionMiddleWare>().InstancePerRequest();

            var container = builder.Build();

            // 先設給MVC的DependencyResolver用
            DependencyResolver.SetResolver(new AutofacDependencyResolver(container));

            // 再設給OWIN用 (這邊順序不能錯,要先UseAutofacMiddleware在UseAutofacMvc)
            app.UseAutofacMiddleware(container);
            app.UseAutofacMvc();

            // 設定Auth的
            ConfigureAuth(app);
        }
Esempio n. 32
0
        public void Configuration(IAppBuilder app)
        {
            var builder = new ContainerBuilder();

            // REGISTER DEPENDENCIES
            builder.RegisterType<OnlineLibDbContext>().AsSelf().InstancePerRequest();
            builder.RegisterType<LibRoleStore>().As<IRoleStore<LibRole, Guid>>().InstancePerRequest();
            builder.RegisterType<LibUserStore>().As<IUserStore<LibUser, Guid>>().InstancePerRequest();
            builder.RegisterType<LibUserManager>().AsSelf().InstancePerRequest();
            builder.RegisterType<LinRoleManager>().AsSelf().InstancePerRequest();
            builder.RegisterType<LibSignInManager>().AsSelf().InstancePerRequest();
            builder.Register(c => HttpContext.Current.GetOwinContext().Authentication).InstancePerRequest();
            builder.Register(c => app.GetDataProtectionProvider()).InstancePerRequest();
            builder.RegisterType<LibraryRepository>().As<ILibraryRepository>().InstancePerRequest();
            builder.RegisterType<BooksRepository>().As<IBooksRepository>().InstancePerRequest();
            builder.RegisterType<EmailService>().As<IIdentityMessageService>().InstancePerRequest();

            // REGISTER CONTROLLERS
               // builder.RegisterControllers<AccountController>(typeof (ILibraryRepository)).AsSelf().InstancePerRequest();
            builder.RegisterControllers(typeof (MvcApplication).Assembly);

            // BUILD CONTAINER
            var container = builder.Build();

            // SET AUTOFAC DEPENDENCY RESOLVER
            DependencyResolver.SetResolver(new AutofacDependencyResolver(container));

            // REGISTER AUTOFAC WITH OWIN
            app.UseAutofacMiddleware(container);
            app.UseAutofacMvc();

            ConfigureAuth(app);
        }
Esempio n. 33
0
        public void Configuration(IAppBuilder app)
        {
            var builder    = new ContainerBuilder();
            var assemblies = BuildManager.GetReferencedAssemblies().Cast <Assembly>().ToArray();

            builder.RegisterType <Entities>().As <IDbContext>().InstancePerLifetimeScope();
            builder.RegisterType <ApplicationDbContext>().AsSelf().InstancePerLifetimeScope();

            builder.RegisterAssemblyTypes(typeof(IRepository <>).Assembly).AsClosedTypesOf(typeof(IRepository <>)).InstancePerRequest();

            builder.RegisterAssemblyTypes(ServiceAssembly).Where(type => typeof(ServiceBase).IsAssignableFrom(type) && !type.IsAbstract).AsImplementedInterfaces().InstancePerRequest();
            builder.RegisterAssemblyTypes(MapperAssembly).Where(type => typeof(MapperBase).IsAssignableFrom(type) && !type.IsAbstract).AsImplementedInterfaces().InstancePerRequest();

            builder.RegisterType <ApplicationUserStore>().As <IUserStore <ApplicationUser> >().InstancePerRequest();
            builder.RegisterType <ApplicationUserManager>().AsSelf().InstancePerRequest();
            builder.RegisterType <ApplicationSignInManager>().AsSelf().InstancePerRequest();
            builder.RegisterType <RoleStore <IdentityRole> >().As <IRoleStore <IdentityRole, string> >().InstancePerRequest();
            builder.RegisterType <ApplicationRoleManager>().AsSelf().InstancePerRequest();
            builder.Register(c => HttpContext.Current.GetOwinContext().Authentication).InstancePerRequest();
            builder.Register(c => app.GetDataProtectionProvider()).InstancePerRequest();

            builder.RegisterModule(new LoggingModule());

            builder.RegisterControllers(assemblies);

            var container = builder.Build();

            DependencyResolver.SetResolver(new AutofacDependencyResolver(container));

            app.UseAutofacMiddleware(container);
            app.UseAutofacMvc();

            ConfigureAuth(app);
        }
Esempio n. 34
0
        public void Configuration(IAppBuilder app)
        {
            var builder = new ContainerBuilder();

            // REGISTER DEPENDENCIES
            builder.RegisterType <OneSignalDBContext>().AsSelf().InstancePerRequest();
            builder.RegisterType <ApplicationUserStore>().As <IUserStore <ApplicationUser> >().InstancePerRequest();
            builder.RegisterType <ApplicationUserManager>().AsSelf().InstancePerRequest();
            builder.RegisterType <ApplicationUser>().AsSelf().InstancePerRequest();
            builder.RegisterType <ApplicationSignInManager>().AsSelf().InstancePerRequest();
            builder.RegisterType <AppService>().As <IAppService>().InstancePerRequest();
            //builder.RegisterAssemblyTypes().Where(t => t.Name.EndsWith("Repository"))
            //   .AsImplementedInterfaces().InstancePerRequest();
            //builder.RegisterAssemblyTypes().Where(t => t.Name.EndsWith("Service"))
            //       .AsImplementedInterfaces().InstancePerRequest();
            builder.Register <IAuthenticationManager>(c => HttpContext.Current.GetOwinContext().Authentication).InstancePerRequest();
            builder.Register <IDataProtectionProvider>(c => app.GetDataProtectionProvider()).InstancePerRequest();

            // REGISTER CONTROLLERS SO DEPENDENCIES ARE CONSTRUCTOR INJECTED
            builder.RegisterControllers(typeof(MvcApplication).Assembly);

            builder.RegisterModule <AutoMapperModule>();

            // BUILD THE CONTAINER
            var container = builder.Build();

            // REPLACE THE MVC DEPENDENCY RESOLVER WITH AUTOFAC
            DependencyResolver.SetResolver(new AutofacDependencyResolver(container));

            // REGISTER WITH OWIN
            app.UseAutofacMiddleware(container);
            app.UseAutofacMvc();

            ConfigureAuth(app);
        }
Esempio n. 35
0
        public static void ConfigureContainer(IAppBuilder app)
        {
            IContainer container = CreateContainer();

            app.UseAutofacMiddleware(container);

            // Register MVC Types
            app.UseAutofacMvc();

            // Enable the application to use a cookie to store information for the signed in user
            app.UseCookieAuthentication(new CookieAuthenticationOptions
            {
                ExpireTimeSpan     = TimeSpan.FromHours(12),
                AuthenticationType = DefaultAuthenticationTypes.ApplicationCookie,
                LoginPath          = new PathString("/Authentication/Login")
            });
            // Use a cookie to temporarily store information about a user logging in with a third party login provider
            app.UseExternalSignInCookie(DefaultAuthenticationTypes.ExternalCookie);

            if (bool.Parse(ConfigurationManager.AppSettings["UpdateDataBase"].ToString()))
            {
                AddGroups();
                AddRoles();
                AddUsers();
                AddRolesToGroups();
                AddUsersToGroups();
            }
        }
Esempio n. 36
0
        public void Configuration(IAppBuilder app)
        {
            var builder = new ContainerBuilder();

            // REGISTER DEPENDENCIES
            builder.RegisterType <ApplicationDbContext>().AsSelf().InstancePerRequest();
            builder.RegisterType <ApplicationUserStore>().As <IUserStore <ApplicationUser> >().InstancePerRequest();
            builder.RegisterType <ApplicationUserManager>().AsSelf().InstancePerRequest();
            builder.RegisterType <ApplicationSignInManager>().AsSelf().InstancePerRequest();
            builder.Register <IAuthenticationManager>(c => HttpContext.Current.GetOwinContext().Authentication).InstancePerRequest();
            builder.Register <IDataProtectionProvider>(c => app.GetDataProtectionProvider()).InstancePerRequest();
            builder.RegisterType <DboUserManager>().As <IManageDboUser>();
            builder.RegisterType <PaymentManager>().As <IPayWithVivaWallet>();
            builder.RegisterType <ProjectManager>().As <IManageProject>();
            builder.RegisterType <UploadFileManager>().As <IUploadFile>();

            // REGISTER CONTROLLERS SO DEPENDENCIES ARE CONSTRUCTOR INJECTED
            builder.RegisterControllers(typeof(MvcApplication).Assembly);

            // OPTIONAL: Register model binders that require DI.
            builder.RegisterModelBinders(typeof(MvcApplication).Assembly);
            builder.RegisterModelBinderProvider();

            // BUILD THE CONTAINER
            var container = builder.Build();

            // REPLACE THE MVC DEPENDENCY RESOLVER WITH AUTOFAC
            DependencyResolver.SetResolver(new AutofacDependencyResolver(container));

            // REGISTER WITH OWIN
            app.UseAutofacMiddleware(container);
            app.UseAutofacMvc();

            ConfigureAuth(app);
        }
        // For more information on configuring authentication, please visit http://go.microsoft.com/fwlink/?LinkId=301864
        public void ConfigureAuth(IAppBuilder app)
        {
            // Do this instead of the "default" out of the box app.CreatePerOwinContext.
            app.UseAutofacMiddleware(DependencyInjectionConfig.Container);
            app.UseAutofacMvc();

            // Enable the application to use a cookie to store information for the signed in user
            // and to use a cookie to temporarily store information about a user logging in with a third party login provider
            // Configure the sign in cookie
            app.UseCookieAuthentication(new CookieAuthenticationOptions
            {
                AuthenticationType = DefaultAuthenticationTypes.ApplicationCookie,
                LoginPath          = new PathString("/Account/Login"),
                Provider           = new CookieAuthenticationProvider
                {
                    // Enables the application to validate the security stamp when the user logs in.
                    // This is a security feature which is used when you change a password or add an external login to your account.
                    OnValidateIdentity = SecurityStampValidator.OnValidateIdentity <ApplicationUserManager, User, Guid>(
                        validateInterval: TimeSpan.FromMinutes(30),
                        regenerateIdentityCallback: (manager, user) => user.GenerateUserIdentityAsync(manager),
                        // TODO: look up the IUser from the ClaimsIdentity
                        getUserIdCallback: claimsIdentity =>
                    {
                        // This is somewhat of a roundabout way of handling it, but it will work.
                        var userId = claimsIdentity.GetUserId <string>();
                        return(Guid.Parse(userId));
                    })
                }
            });

            app.UseExternalSignInCookie(DefaultAuthenticationTypes.ExternalCookie);

            // Enables the application to temporarily store user information when they are verifying the second factor in the two-factor authentication process.
            app.UseTwoFactorSignInCookie(DefaultAuthenticationTypes.TwoFactorCookie, TimeSpan.FromMinutes(5));

            // Enables the application to remember the second login verification factor such as phone or email.
            // Once you check this option, your second step of verification during the login process will be remembered on the device where you logged in from.
            // This is similar to the RememberMe option when you log in.
            app.UseTwoFactorRememberBrowserCookie(DefaultAuthenticationTypes.TwoFactorRememberBrowserCookie);

            // Uncomment the following lines to enable logging in with third party login providers
            //app.UseMicrosoftAccountAuthentication(
            //    clientId: "",
            //    clientSecret: "");

            //app.UseTwitterAuthentication(
            //   consumerKey: "",
            //   consumerSecret: "");

            //app.UseFacebookAuthentication(
            //   appId: "",
            //   appSecret: "");

            //app.UseGoogleAuthentication(new GoogleOAuth2AuthenticationOptions()
            //{
            //    ClientId = "",
            //    ClientSecret = ""
            //});
        }
Esempio n. 38
0
        public static void ConfigureContainer(IAppBuilder app)
        {
            var container = CreateContainer();

            Container = container;
            app.UseAutofacMiddleware(container);
            app.UseAutofacMvc();
        }
Esempio n. 39
0
        private static void IntegrateDIContainerWithFrameworks(IAppBuilder app, IContainer container)
        {
            DependencyResolver.SetResolver(new AutofacDependencyResolver(container));

            // Note: Register the Autofac middleware FIRST, then the Autofac MVC middleware.
            app.UseAutofacMiddleware(container);
            app.UseAutofacMvc();
        }
Esempio n. 40
0
        public static void ConfigureContainer(IAppBuilder app)
        {
            IContainer container = CreateContainer();
            app.UseAutofacMiddleware(container);

            // Register MVC Types 
            app.UseAutofacMvc();
        }
Esempio n. 41
0
        public void Configuration(IAppBuilder app)
        {
            ConfigureAuth(app);

            var container = AutofacBootstrapper.GetContainer();
            DependencyResolver.SetResolver(new AutofacDependencyResolver(container));

            app.UseAutofacMiddleware(container);
            app.UseAutofacMvc();
        }
Esempio n. 42
0
        public static void Bootstrap(IAppBuilder app)
        {
            var mvcContainer = ConfigureMvcContainer();

            app.UseAutofacMiddleware(mvcContainer);

            app.UseAutofacWebApi(GlobalConfiguration.Configuration);

            app.UseAutofacMvc();
        }
        public static void Configure(IAppBuilder app)
        {
            IContainer container = BuildAutofacContainer(app);

            // Set the dependency resolver to be Autofac.
            DependencyResolver.SetResolver(new AutofacDependencyResolver(container));

            // Register the Autofac middleware FIRST, then the Autofac MVC middleware.
            app.UseAutofacMiddleware(container);
            app.UseAutofacMvc();
        }
Esempio n. 44
0
File: Startup.cs Progetto: rkemr/ioc
        public void Configuration(IAppBuilder app)
        {
            var builder = new ContainerBuilder();

            var container = AutofacConfig.BuildContainer(builder);

            DependencyResolver.SetResolver(new AutofacDependencyResolver(container));

            app.UseAutofacMiddleware(container);
            app.UseAutofacMvc();
        }
        public void ConfigureAutofac(IAppBuilder app)
        {
            Container = new ContainerGenerator().GetContainer();

            // Register the Autofac middleware FIRST.
            app.UseAutofacMiddleware(Container);
            app.UseAutofacMvc();
            DependencyResolver.SetResolver(new AutofacDependencyResolver(Container));

            // ReSharper disable once RedundantNameQualifier
            GlobalHost.DependencyResolver = new Autofac.Integration.SignalR.AutofacDependencyResolver(Container);
        }
Esempio n. 46
0
 private void RegisterDependencyInjection(IAppBuilder app, IContainer container)
 {
     // Enable Autofac for MVC and WebAPI
     app.UseAutofacMvc();
     app.UseAutofacWebApi(GlobalConfiguration.Configuration);
     // Set MVC5 dependency resolver
     DependencyResolver.SetResolver(new AutofacDependencyResolver(container));
     // Set API2 dependency resolver
     GlobalConfiguration.Configuration.DependencyResolver = new AutofacWebApiDependencyResolver(container);
     // Set OWIN dependency resolver
     app.UseAutofacMiddleware(container);
 }
Esempio n. 47
0
        public void Configuration(IAppBuilder app)
        {
            // For more information on how to configure your application, visit http://go.microsoft.com/fwlink/?LinkID=316888
            _container = IoCConfig.RegisterDependencies(app);
            DependencyResolver.SetResolver(new AutofacDependencyResolver(_container));
            var config = new HttpConfiguration {DependencyResolver = new AutofacWebApiDependencyResolver(_container)};
            WebApiConfig.Register(config);
            app.UseAutofacMiddleware(_container);
            //app.UseAutofacWebApi(config);
            app.UseWebApi(config);
            app.UseAutofacMvc();
            app.ConfigureUbikAuth();

 
        }
Esempio n. 48
0
        public void Configuration(IAppBuilder app)
        {
            var builder = new ContainerBuilder();

            // REGISTER CONTROLLERS SO DEPENDENCIES ARE CONSTRUCTOR INJECTED
            builder.RegisterApiControllers(typeof(DashboardController).Assembly);
            builder.RegisterControllers(typeof(HomeController).Assembly);

            // REGISTER DEPENDENCIES
            //builder.RegisterType<ApplicationDbContext>().AsSelf().InstancePerRequest();
            builder.RegisterType<MyUserStore>().As<IUserStore<User, int>>().InstancePerRequest();
            builder.RegisterType<ApplicationUserManager>().AsSelf().InstancePerRequest();
            builder.RegisterType<ApplicationSignInManager>().AsSelf().InstancePerRequest();
            builder.RegisterType<DatabaseFactory>().As<IDatabaseFactory>().InstancePerRequest();

            builder.RegisterType<LocalPhotoManager>()
                .As<IPhotoManager>()
                .WithParameter("workingFolder", HttpContext.Current.Server.MapPath(@"~/App_Data/FileStorage"));

            builder.RegisterType<LocalDocumentManager>()
                .As<IDocumentManager>()
                .WithParameter("workingFolder", HttpContext.Current.Server.MapPath(@"~/App_Data/FileStorage/UserDocuments"));

            builder.RegisterAssemblyTypes(typeof(UserRepository).Assembly)
               .Where(t => t.Name.EndsWith("Repository"))
               .AsImplementedInterfaces().InstancePerHttpRequest();

            builder.RegisterAssemblyTypes(typeof(PlayerServices).Assembly)
               .Where(t => t.Name.EndsWith("Services"))
               .AsSelf().InstancePerHttpRequest();

            builder.Register<IAuthenticationManager>(c => HttpContext.Current.GetOwinContext().Authentication).InstancePerRequest();
            builder.Register<IDataProtectionProvider>(c => app.GetDataProtectionProvider()).InstancePerRequest();

            // BUILD THE CONTAINER
            var container = builder.Build();

            // REPLACE THE MVC DEPENDENCY RESOLVER WITH AUTOFAC
            DependencyResolver.SetResolver(new AutofacDependencyResolver(container));
            GlobalConfiguration.Configuration.DependencyResolver = new AutofacWebApiDependencyResolver(container);

            // REGISTER WITH OWIN
            app.UseAutofacMiddleware(container);
            app.UseAutofacMvc();
            app.UseAutofacWebApi(new HttpConfiguration());

            ConfigureAuth(app);
        }
        public void Configuration(IAppBuilder app)
        {
            // Loads the config from our App.config
            XmlConfigurator.Configure();

            // MassTransit to use Log4Net
            Log4NetLogger.Use();

            var container = IocConfig.RegisterDependencies();

            // Get your HubConfiguration. In OWIN, we create one rather than using GlobalHost
            var hubConfig = new HubConfiguration();

            // Sets the dependency resolver to be autofac.
            hubConfig.Resolver = new AutofacSignalR.AutofacDependencyResolver(container);

            // Sets the Mvc resolver
            DependencyResolver.SetResolver(new AutofacMvc.AutofacDependencyResolver(container));

            // Sets SignalR and Mvc Owin resolver as well
            app.UseAutofacMiddleware(container);
            app.MapSignalR("/signalr", hubConfig);
            app.UseAutofacMvc();

            // There's not a lot of documentation or discussion for owin getting the hubcontext
            // Got this from here: https://stackoverflow.com/questions/29783898/owin-signalr-autofac
            var builder = new ContainerBuilder();
            var connManager = hubConfig.Resolver.Resolve<IConnectionManager>();
            builder.RegisterInstance(connManager)
                .As<IConnectionManager>()
                .SingleInstance();
            builder.Update(container);

            // Starts Mass Transit Service bus, and registers stopping of bus on app dispose
            var bus = container.Resolve<IBusControl>();
            var busHandle = bus.Start();

            if (app.Properties.ContainsKey("host.OnAppDisposing"))
            {
                var context = new OwinContext(app.Properties);
                var token = context.Get<CancellationToken>("host.OnAppDisposing");
                if (token != CancellationToken.None)
                {
                    token.Register(() => busHandle.Stop(TimeSpan.FromSeconds(30)));
                }
            }
        }
Esempio n. 50
0
        private static void Initialize(IAppBuilder appBuilder)
        {
            ContainerBuilder builder = new ContainerBuilder();
            builder.RegisterControllers(Assembly.GetExecutingAssembly());
            builder.RegisterModule(new AutofacWebTypesModule());

            RegisterServices(builder);

            RegisterNotifier(builder);

            IContainer container = builder.Build();

            DependencyResolver.SetResolver(new AutofacDependencyResolver(container));

            appBuilder.UseAutofacMiddleware(container);
            appBuilder.UseAutofacMvc();
        }
Esempio n. 51
0
        public static void Configuration(IAppBuilder app)
        {
            var builder = new ContainerBuilder();

            // Autofac modules:
            builder.RegisterModule(new CoreModule());
            builder.RegisterModule(new UserAccountModule(MembershipRebootOwinConstants.AuthenticationType, app));

            // Set the dependency resolver to be Autofac.
            var container = builder.Build();
            DependencyResolver.SetResolver(new AutofacDependencyResolver(container));

            // OWIN MVC setup:
            // Register the Autofac middleware FIRST, then the Autofac MVC middleware.
            app.UseAutofacMiddleware(container);
            app.UseAutofacMvc();
        }
        private static void ConfigureContainer(IAppBuilder app)
        {
            var builder = new ContainerBuilder();

            RegisterMvc(builder);
            RegisterEntityFramework(builder);
            RegisterCqrs(builder);
            RegisterAutomapper(builder);

            // Register dependencies, then...
            var container = builder.Build();
            DependencyResolver.SetResolver(new AutofacDependencyResolver(container));

            // Register the Autofac middleware FIRST.
            app.UseAutofacMiddleware(container);
            app.UseAutofacMvc();
        }
Esempio n. 53
0
        public void Configuration(IAppBuilder app)
        {
            var builder = new ContainerBuilder();

            // Register Modules
            builder.RegisterModule<DalConfig>();
            builder.RegisterModule<SetupConfig>();
            builder.RegisterModule<CoreConfig>();
            builder.RegisterModule<MvcConfig>();
            builder.RegisterModule<SettingsConfig>();
            builder.RegisterModule<LocalizationConfig>();
            builder.RegisterModule<DIConfig>();
            builder.RegisterModule<ImageProcessorConfig>();

            // Register Identity
            builder.RegisterType<ApplicationIdentityDbContext>().AsSelf().InstancePerRequest();
            builder.RegisterType<ApplicationUserStore>().As<IUserStore<ApplicationUser>>().InstancePerRequest();
            builder.RegisterType<ApplicationUserManager>().As<IApplicationUserManager>().InstancePerRequest();
            builder.RegisterType<ApplicationRoleStore>().As<IRoleStore<ApplicationRole, string>>().InstancePerRequest();
            builder.RegisterType<ApplicationRoleManager>().As<IApplicationRoleManager>().InstancePerRequest();
            builder.RegisterType<ApplicationSignInManager>().As<IApplicationSignInManager>().InstancePerRequest();
            builder.Register<IAuthenticationManager>(c => HttpContext.Current.GetOwinContext().Authentication).InstancePerRequest();
            builder.Register<IDataProtectionProvider>(c => app.GetDataProtectionProvider()).InstancePerRequest();

            var assemblies = AppDomain.CurrentDomain.GetAssemblies();
            builder.RegisterControllers(assemblies);
            builder.RegisterApiControllers(assemblies);

            var container = builder.Build();

            DependencyResolver.SetResolver(new AutofacDependencyResolver(container));
            GlobalConfiguration.Configuration.DependencyResolver = new AutofacWebApiDependencyResolver(container);

            app.UseAutofacMiddleware(container);
            app.UseAutofacMvc();

            // set Application class
            cEditorRoot.SetApplication(container.Resolve<IcEditorApplication>());

            ConfigureAuth(app);
        }
Esempio n. 54
0
        public void Configuration(IAppBuilder app)
        {
            var config = new StartUpApp();
            config.ConfigureAuth(app, _defaultLoginPage);

            IoC.RegisterModule(new AnyModule());
            IoC.RegisterModule(new IdentityModule(app));
            IoC.RegisterControllers(Assembly.GetExecutingAssembly());

            var container = IoC.BuildContainer();
            
            app.UseAutofacMvc();
            app.UseAutofacMiddleware(container);

            DependencyResolver.SetResolver(new AutofacDependencyResolver(container));
            GlobalConfiguration.Configuration.DependencyResolver = new AutofacWebApiDependencyResolver(container);
            
            IoC.ActionResolverMvc(DependencyResolver.Current.GetService);

            AntiForgeryConfig.UniqueClaimTypeIdentifier = ClaimTypes.NameIdentifier;
        }
        private void ConfigureDependencyInjection(IAppBuilder app, HttpConfiguration apiConfig)
        {
            var builder = new ContainerBuilder();
            Assembly executingAssembly = Assembly.GetExecutingAssembly();
            builder.RegisterApiControllers(executingAssembly);
            builder.RegisterControllers(executingAssembly);

            RegisterComponents(builder, app);

            var container = builder.Build();

            app.UseAutofacMiddleware(container);

            var apiResolver = new AutofacWebApiDependencyResolver(container);
            apiConfig.DependencyResolver = apiResolver;
            app.UseAutofacWebApi(apiConfig);

            var mvcResolver = new AutofacDependencyResolver(container);
            DependencyResolver.SetResolver(mvcResolver);
            app.UseAutofacMvc();
        }
Esempio n. 56
0
        public void ConfigureIoC(IAppBuilder app)
        {
            var builder = new ContainerBuilder();

            // STANDARD MVC SETUP:
            DependencyInjection.IoC.Register(builder);

            // Register your MVC controllers.
            builder.RegisterControllers(typeof(MvcApplication).Assembly);

            // Run other optional steps, like registering model binders,
            // web abstractions, etc., then set the dependency resolver
            // to be Autofac.
            var container = builder.Build();
            DependencyResolver.SetResolver(new AutofacDependencyResolver(container));

            // OWIN MVC SETUP:

            // Register the Autofac middleware FIRST, then the Autofac MVC middleware.
            app.UseAutofacMiddleware(container);
            app.UseAutofacMvc();
        }
Esempio n. 57
0
        public void Configuration(IAppBuilder app)
        {
            IContainer container = null;
            var builder = new ContainerBuilder();

            // Register Services
            builder.RegisterType<SalesRepository>().As<ISalesRepository>().InstancePerRequest();
            builder.RegisterType<SalesService>().As<ISalesService>().InstancePerRequest();
            builder.RegisterAssemblyTypes(AppDomain.CurrentDomain.GetAssemblies())
               .AsClosedTypesOf(typeof(IHandle<>))
               .AsImplementedInterfaces()
               .InstancePerRequest();
            builder.Register<IAppEvents>(_ => new AppEvents(AutofacDependencyResolver.Current.RequestLifetimeScope)).InstancePerRequest();
            
            // Register MVC Controllers
            builder.RegisterControllers(Assembly.GetExecutingAssembly());

            // Resolve dependencies
            container = builder.Build();
            DependencyResolver.SetResolver(new AutofacDependencyResolver(container));

            app.UseAutofacMiddleware(container);
            app.UseAutofacMvc();
        }
Esempio n. 58
0
        public void Configuration(IAppBuilder app)
        {
            var builder = new ContainerBuilder();

            builder.RegisterControllers(typeof(MvcApplication).Assembly);
            builder.RegisterModule(new AutofacWebTypesModule());
            builder.Register((a) =>
            {
                var context = a.Resolve<HttpContextBase>();
                if(context != null)
                {
                    return context.GetOwinContext();
                }
                return null;
            }).InstancePerRequest();
            builder.Register((a) =>
            {
                var context = a.Resolve<IOwinContext>();
                if(context != null)
                {
                    return context.Get<ApplicationSignInManager>();
                }
                return null;
            }).InstancePerRequest();
            builder.Register((a) =>
            {
                var context = a.Resolve<IOwinContext>();
                if(context != null)
                {
                    return context.Get<ApplicationUserManager>();
                }
                return null;
            }).InstancePerRequest();
            builder.Register((a) =>
            {
                var context = a.Resolve<IOwinContext>();
                if(context != null)
                {
                    return context.Get<ApplicationRoleManager>();
                }
                return null;
            }).InstancePerRequest();

            builder.Register((a) =>
            {
                var context = a.Resolve<IOwinContext>();
                if(context != null)
                {
                    return context.Authentication;
                }
                return null;
            }).InstancePerRequest();
            builder.Register(a =>
            {
                var options = new FitbitAuthenticationOptions()
                {
                    //probably shouldnt bake api keys here, but for now it works
                    ClientId = "227PBF",
                    ClientSecret = "dab2395907e7bec0317723bd2f13f4d1"
                };
                options.Scope.Add("nutrition"); //get nutrition data
                options.Provider = new FitbitAuthenticationProvider()
                {
                    OnAuthenticated = b =>
                    {
                        b.Identity.AddClaim(new System.Security.Claims.Claim(Constants.FitbitClaimsToken, b.AccessToken));
                        return Task.CompletedTask; // we don't need to do anything that is async
                    }
                };
                return options;
            });

            builder.RegisterType<ApplicationDbContext>();
            var container = builder.Build();
            DependencyResolver.SetResolver(new AutofacDependencyResolver(container));
            var db = container.Resolve<ApplicationDbContext>();
            app.UseAutofacMiddleware(container);
            app.UseAutofacMvc();
            ConfigureAuth(app, container.Resolve<FitbitAuthenticationOptions>());
            DatabaseBootstrap.Bootstrap(db);
        }
Esempio n. 59
0
        public void Configuration(IAppBuilder app)
        {
            var builder = new ContainerBuilder();
            builder.RegisterControllers(typeof (MvcApplication).Assembly);
            //register web abstractions
            builder.RegisterModule<AutofacWebTypesModule>();
            //register Model Binders
            builder.RegisterModelBinders(Assembly.GetExecutingAssembly());
            builder.RegisterModelBinderProvider();
            //register filter providers
            builder.RegisterFilterProvider();
            //register persistence services
            var persistenceAssembly = typeof(ChurchService).Assembly;
            builder.RegisterAssemblyTypes(persistenceAssembly)
                .Where(i => i.Name.EndsWith("Service") && !i.Name.Equals("UserService") && !i.Name.Equals("RoleService"))
                .InstancePerRequest();

            //Register File Handlers
            builder.RegisterType<GroupExcelFileHandler>().AsSelf().InstancePerRequest();
            builder.RegisterType<ChapterExcelFileHandler>().AsSelf().InstancePerRequest();
            builder.RegisterType<ZoneExcelFileHandler>().AsSelf().InstancePerRequest();
            builder.RegisterType<PCFExcelFileHandler>().AsSelf().InstancePerRequest();
            builder.RegisterType<CellExcelFileHandler>().AsSelf().InstancePerRequest();
            builder.RegisterType<PartnerExcelFileHandler>().AsSelf().InstancePerRequest();
            builder.RegisterType<PartnershipLogExcelFileHandler>().AsSelf().InstancePerRequest();
            //register Report builderss

            builder.RegisterType<UserService>().As<IUserStore<IdentityUser, Int32>>();
            builder.RegisterType<UserService>().As<IUserClaimStore<IdentityUser, Int32>>();
            builder.RegisterType<UserService>().As<IUserRoleStore<IdentityUser, Int32>>();
            builder.RegisterType<UserService>().As<IUserLoginStore<IdentityUser, Int32>>();
            builder.RegisterType<UserService>().As<IUserPasswordStore<IdentityUser, Int32>>();
            builder.RegisterType<RoleService>().As<IRoleStore<IdentityRole, Int32>>();
       
            builder.RegisterAssemblyTypes(persistenceAssembly)
                .Where(i => i.Name.EndsWith("Builder"))
                .InstancePerRequest();
            builder.RegisterGeneric(typeof (Repository<>)).As(typeof (IRepository<>)).InstancePerRequest();
            builder.RegisterType<PhoneNumberFormatter>().As<IPhoneNumberFormatter>().InstancePerDependency();
            builder.RegisterType<XWirelessMessageSender>().As<IMessageSender>().InstancePerDependency();
            builder.RegisterType<PartnershipAlertSMSBuilder>().As<IMessageBuilder<Partnership, string>>().InstancePerDependency();
            builder.RegisterType<PartnershipAnalyticsBuilder>().AsSelf().InstancePerRequest();
            builder.RegisterType<PartnerAnalyticsBuilder>().AsSelf().InstancePerRequest();
            builder.RegisterType<PartnerAlertSmsBuilder>()
                .As<IMessageBuilder<Partner, string>>()
                .InstancePerDependency();
            builder.RegisterType<ChurchListBuilder>().AsSelf();
            builder.RegisterType<CurrencyListBuilder>().AsSelf();
            builder.RegisterType<MonthListBuilder>().AsSelf();
            builder.RegisterType<PartnershipArmListBuilder>().AsSelf();
            builder.RegisterType<PartnerTitleListBuilder>().AsSelf();
            builder.RegisterType<YearListBuilder>().AsSelf();
            builder.RegisterType<EntitiesModel>().As<IUnitOfWork>().InstancePerRequest();
            builder.Register(t => HttpContext.Current.GetOwinContext().Authentication).As<IAuthenticationManager>();
            builder.RegisterType<ApplicationSignInManager>().AsSelf();
            builder.RegisterType<ApplicationUserManager>().AsSelf();
            //register owin integration
            var container = builder.Build();
            var dependencyResolver = new AutofacDependencyResolver(container);
            DependencyResolver.SetResolver(dependencyResolver);
            ConfigureAuth(app);
            app.UseAutofacMiddleware(container);
            app.UseAutofacMvc();
            
        }