public static IContainer Initialize() { Logger.Info(typeof(ContainerConfig), "Initializing container..."); ContainerBuilder builder = new ContainerBuilder(); ConfigFileConfigurationProvider configurationProvider = new ConfigFileConfigurationProvider(); builder.RegisterInstance(configurationProvider.Service).As <IServiceConfiguration>(); builder.RegisterInstance(configurationProvider.Repository).As <IApplicationRepositoryConfiguration>(); builder.RegisterInstance(configurationProvider.Authentication).As <IAuthenticationConfiguration>(); builder.RegisterType <FileSystemApplicationRepository>().As <IApplicationRepository>(); builder.RegisterType <SystemDateTimeFactory>().As <IDateTimeFactory>(); // register API controllers builder.RegisterApiControllers(typeof(PackagesApiController).Assembly); builder.RegisterControllers(typeof(HomeController).Assembly); // build container Container = Dependency.Build(builder); GlobalConfiguration.Configuration.DependencyResolver = new AutofacWebApiDependencyResolver(Container); DependencyResolver.SetResolver(new AutofacDependencyResolver(Container)); Logger.Info(typeof(ContainerConfig), "Container initialized"); return(Container); }
public static IContainer Initialize() { Logger.Info(typeof (ContainerConfig), "Initializing container..."); ContainerBuilder builder = new ContainerBuilder(); ConfigFileConfigurationProvider configurationProvider = new ConfigFileConfigurationProvider(); builder.RegisterInstance(configurationProvider.Service).As<IServiceConfiguration>(); builder.RegisterInstance(configurationProvider.Repository).As<IApplicationRepositoryConfiguration>(); builder.RegisterInstance(configurationProvider.Authentication).As<IAuthenticationConfiguration>(); builder.RegisterType<FileSystemApplicationRepository>().As<IApplicationRepository>(); builder.RegisterType<SystemDateTimeFactory>().As<IDateTimeFactory>(); // register API controllers builder.RegisterApiControllers(typeof (PackagesApiController).Assembly); builder.RegisterControllers(typeof (HomeController).Assembly); // build container Container = Dependency.Build(builder); GlobalConfiguration.Configuration.DependencyResolver = new AutofacWebApiDependencyResolver(Container); DependencyResolver.SetResolver(new AutofacDependencyResolver(Container)); Logger.Info(typeof (ContainerConfig), "Container initialized"); return (Container); }