public static Container Initialize() { var container = new Container(); container.Options.DefaultScopedLifestyle = new ThreadScopedLifestyle(); container.Register <IConfiguration, Configuration>(); if (AppSettingsProvider.GetUsePulseEmulator()) { container.Register <IPulseService, PulseServiceEmulator>(); } else { container.Register <IPulseService, PulseService.PulseService>(); } container.RegisterSingleton <IReactiveLoader, ReactiveLoader>(); DbComponentRegistration.RegisterDb(container); RepositoryComponentRegistration.RegisterRepositories(container); ServicesComponentRegistrations.RegisterServices(container); container.Verify(); return(container); }
public static Container Initialize() { var container = new Container(); container.Options.DefaultScopedLifestyle = new AsyncScopedLifestyle(); container.RegisterSingleton <IConfiguration>(() => new Configuration()); DbComponentRegistration.RegisterDb(container); RepositoryComponentRegistration.RegisterRepositories(container); ServicesComponentRegistrations.RegisterServices(container); container.RegisterWebApiControllers(GlobalConfiguration.Configuration); container.Verify(); GlobalConfiguration.Configuration.DependencyResolver = new SimpleInjectorWebApiDependencyResolver(container); return(container); }