Beispiel #1
0
        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);
		}